home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / djgpp / src / gdb-4.12 / opcodes / z8k-opc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-02-03  |  118.0 KB  |  4,428 lines

  1.             /* THIS FILE IS AUTOMAGICALLY GENERATED, DON'T EDIT IT */
  2. #define ARG_MASK 0x0f
  3. #define ARG_SRC 0x01
  4. #define ARG_DST 0x02
  5. #define ARG_RS 0x01
  6. #define ARG_RD 0x02
  7. #define ARG_RA 0x03
  8. #define ARG_RB 0x04
  9. #define ARG_RR 0x05
  10. #define ARG_RX 0x06
  11. #define ARG_IMM4 0x01
  12. #define ARG_IMM8 0x02
  13. #define ARG_IMM16 0x03
  14. #define ARG_IMM32 0x04
  15. #define ARG_IMMN 0x05
  16. #define ARG_IMMNMINUS1 0x05
  17. #define ARG_IMM_1 0x06
  18. #define ARG_IMM_2 0x07
  19. #define ARG_DISP16 0x08
  20. #define ARG_NIM8 0x09
  21. #define ARG_IMM2 0x0a
  22. #define ARG_IMM1OR2 0x0b
  23. #define ARG_DISP12 0x0b
  24. #define ARG_DISP8 0x0c
  25. #define ARG_IMM4M1 0x0d
  26. #define CLASS_MASK 0x1fff0
  27. #define CLASS_X 0x10
  28. #define CLASS_BA 0x20
  29. #define CLASS_DA 0x30
  30. #define CLASS_BX 0x40
  31. #define CLASS_DISP 0x50
  32. #define CLASS_IMM 0x60
  33. #define CLASS_CC 0x70
  34. #define CLASS_CTRL 0x80
  35. #define CLASS_ADDRESS 0xd0
  36. #define CLASS_0CCC 0xe0
  37. #define CLASS_1CCC 0xf0
  38. #define CLASS_0DISP7 0x100
  39. #define CLASS_1DISP7 0x200
  40. #define CLASS_01II 0x300
  41. #define CLASS_00II 0x400
  42. #define CLASS_BIT 0x500
  43. #define CLASS_FLAGS 0x600
  44. #define CLASS_IR 0x700
  45. #define CLASS_DISP8 0x800
  46. #define CLASS_BIT_1OR2 0x900
  47. #define CLASS_REG 0x7000
  48. #define CLASS_REG_BYTE 0x2000
  49. #define CLASS_REG_WORD 0x3000
  50. #define CLASS_REG_QUAD 0x4000
  51. #define CLASS_REG_LONG 0x5000
  52. #define CLASS_REGN0 0x8000
  53. #define CLASS_PR 0x10000
  54. #define OPC_adc 0
  55. #define OPC_adcb 1
  56. #define OPC_add 2
  57. #define OPC_addb 3
  58. #define OPC_addl 4
  59. #define OPC_and 5
  60. #define OPC_andb 6
  61. #define OPC_bit 7
  62. #define OPC_bitb 8
  63. #define OPC_call 9
  64. #define OPC_calr 10
  65. #define OPC_clr 11
  66. #define OPC_clrb 12
  67. #define OPC_com 13
  68. #define OPC_comb 14
  69. #define OPC_comflg 15
  70. #define OPC_cp 16
  71. #define OPC_cpb 17
  72. #define OPC_cpd 18
  73. #define OPC_cpdb 19
  74. #define OPC_cpdr 20
  75. #define OPC_cpdrb 21
  76. #define OPC_cpi 22
  77. #define OPC_cpib 23
  78. #define OPC_cpir 24
  79. #define OPC_cpirb 25
  80. #define OPC_cpl 26
  81. #define OPC_cpsd 27
  82. #define OPC_cpsdb 28
  83. #define OPC_cpsdr 29
  84. #define OPC_cpsdrb 30
  85. #define OPC_cpsi 31
  86. #define OPC_cpsib 32
  87. #define OPC_cpsir 33
  88. #define OPC_cpsirb 34
  89. #define OPC_dab 35
  90. #define OPC_dbjnz 36
  91. #define OPC_dec 37
  92. #define OPC_decb 38
  93. #define OPC_di 39
  94. #define OPC_div 40
  95. #define OPC_divl 41
  96. #define OPC_djnz 42
  97. #define OPC_ei 43
  98. #define OPC_ex 44
  99. #define OPC_exb 45
  100. #define OPC_exts 46
  101. #define OPC_extsb 47
  102. #define OPC_extsl 48
  103. #define OPC_halt 49
  104. #define OPC_in 50
  105. #define OPC_inb 51
  106. #define OPC_inc 52
  107. #define OPC_incb 53
  108. #define OPC_ind 54
  109. #define OPC_indb 55
  110. #define OPC_inib 56
  111. #define OPC_inibr 57
  112. #define OPC_iret 58
  113. #define OPC_jp 59
  114. #define OPC_jr 60
  115. #define OPC_ld 61
  116. #define OPC_lda 62
  117. #define OPC_ldar 63
  118. #define OPC_ldb 64
  119. #define OPC_ldctl 65
  120. #define OPC_ldir 66
  121. #define OPC_ldirb 67
  122. #define OPC_ldk 68
  123. #define OPC_ldl 69
  124. #define OPC_ldm 70
  125. #define OPC_ldps 71
  126. #define OPC_ldr 72
  127. #define OPC_ldrb 73
  128. #define OPC_ldrl 74
  129. #define OPC_mbit 75
  130. #define OPC_mreq 76
  131. #define OPC_mres 77
  132. #define OPC_mset 78
  133. #define OPC_mult 79
  134. #define OPC_multl 80
  135. #define OPC_neg 81
  136. #define OPC_negb 82
  137. #define OPC_nop 83
  138. #define OPC_or 84
  139. #define OPC_orb 85
  140. #define OPC_out 86
  141. #define OPC_outb 87
  142. #define OPC_outd 88
  143. #define OPC_outdb 89
  144. #define OPC_outib 90
  145. #define OPC_outibr 91
  146. #define OPC_pop 92
  147. #define OPC_popl 93
  148. #define OPC_push 94
  149. #define OPC_pushl 95
  150. #define OPC_res 96
  151. #define OPC_resb 97
  152. #define OPC_resflg 98
  153. #define OPC_ret 99
  154. #define OPC_rl 100
  155. #define OPC_rlb 101
  156. #define OPC_rlc 102
  157. #define OPC_rlcb 103
  158. #define OPC_rldb 104
  159. #define OPC_rr 105
  160. #define OPC_rrb 106
  161. #define OPC_rrc 107
  162. #define OPC_rrcb 108
  163. #define OPC_rrdb 109
  164. #define OPC_sbc 110
  165. #define OPC_sbcb 111
  166. #define OPC_sda 112
  167. #define OPC_sdab 113
  168. #define OPC_sdal 114
  169. #define OPC_sdl 115
  170. #define OPC_sdlb 116
  171. #define OPC_sdll 117
  172. #define OPC_set 118
  173. #define OPC_setb 119
  174. #define OPC_setflg 120
  175. #define OPC_sinb 121
  176. #define OPC_sind 122
  177. #define OPC_sindb 123
  178. #define OPC_sinib 124
  179. #define OPC_sinibr 125
  180. #define OPC_sla 126
  181. #define OPC_slab 127
  182. #define OPC_slal 128
  183. #define OPC_sll 129
  184. #define OPC_sllb 130
  185. #define OPC_slll 131
  186. #define OPC_sout 132
  187. #define OPC_soutb 133
  188. #define OPC_soutd 134
  189. #define OPC_soutdb 135
  190. #define OPC_soutib 136
  191. #define OPC_soutibr 137
  192. #define OPC_sra 138
  193. #define OPC_srab 139
  194. #define OPC_sral 140
  195. #define OPC_srl 141
  196. #define OPC_srlb 142
  197. #define OPC_srll 143
  198. #define OPC_sub 144
  199. #define OPC_subb 145
  200. #define OPC_subl 146
  201. #define OPC_tcc 147
  202. #define OPC_tccb 148
  203. #define OPC_test 149
  204. #define OPC_testb 150
  205. #define OPC_testl 151
  206. #define OPC_trdb 152
  207. #define OPC_trdrb 153
  208. #define OPC_trib 154
  209. #define OPC_trirb 155
  210. #define OPC_trtdrb 156
  211. #define OPC_trtib 157
  212. #define OPC_trtirb 158
  213. #define OPC_trtrb 159
  214. #define OPC_tset 160
  215. #define OPC_tsetb 161
  216. #define OPC_xor 162
  217. #define OPC_xorb 163
  218. #define OPC_ldd  164 
  219. #define OPC_lddb  165 
  220. #define OPC_lddr  166 
  221. #define OPC_lddrb 167  
  222. #define OPC_ldi  168 
  223. #define OPC_ldib 169  
  224. #define OPC_sc   170
  225. #define OPC_bpt   171
  226. #define OPC_ext0e 172
  227. #define OPC_ext0f 172
  228. #define OPC_ext8e 172
  229. #define OPC_ext8f 172
  230. #define OPC_rsvd36 172
  231. #define OPC_rsvd38 172
  232. #define OPC_rsvd78 172
  233. #define OPC_rsvd7e 172
  234. #define OPC_rsvd9d 172
  235. #define OPC_rsvd9f 172
  236. #define OPC_rsvdb9 172
  237. #define OPC_rsvdbf 172
  238. typedef struct {
  239. #ifdef NICENAMES
  240. char *nicename;
  241. int type;
  242. int cycles;
  243. int flags;
  244. #endif
  245. char *name;
  246. unsigned char opcode;
  247. void (*func)();
  248. unsigned int arg_info[4];
  249. unsigned int byte_info[10];
  250. int noperands;
  251. int length;
  252. int idx;
  253. } opcode_entry_type;
  254. #ifdef DEFINE_TABLE
  255. opcode_entry_type z8k_table[] = {
  256.  
  257.  
  258. /* 1011 0101 ssss dddd *** adc rd,rs */
  259. {
  260. #ifdef NICENAMES
  261. "adc rd,rs",16,5,
  262. 0x3c,
  263. #endif
  264. "adc",OPC_adc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  265.     {CLASS_BIT+0xb,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,0},
  266.  
  267.  
  268. /* 1011 0100 ssss dddd *** adcb rbd,rbs */
  269. {
  270. #ifdef NICENAMES
  271. "adcb rbd,rbs",8,5,
  272. 0x3f,
  273. #endif
  274. "adcb",OPC_adcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  275.     {CLASS_BIT+0xb,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,1},
  276.  
  277.  
  278. /* 0000 0001 ssN0 dddd *** add rd,@rs */
  279. {
  280. #ifdef NICENAMES
  281. "add rd,@rs",16,7,
  282. 0x3c,
  283. #endif
  284. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  285.     {CLASS_BIT+0,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,2},
  286.  
  287.  
  288. /* 0100 0001 0000 dddd address_src *** add rd,address_src */
  289. {
  290. #ifdef NICENAMES
  291. "add rd,address_src",16,9,
  292. 0x3c,
  293. #endif
  294. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  295.     {CLASS_BIT+4,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,3},
  296.  
  297.  
  298. /* 0100 0001 ssN0 dddd address_src *** add rd,address_src(rs) */
  299. {
  300. #ifdef NICENAMES
  301. "add rd,address_src(rs)",16,10,
  302. 0x3c,
  303. #endif
  304. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  305.     {CLASS_BIT+4,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,4},
  306.  
  307.  
  308. /* 0000 0001 0000 dddd imm16 *** add rd,imm16 */
  309. {
  310. #ifdef NICENAMES
  311. "add rd,imm16",16,7,
  312. 0x3c,
  313. #endif
  314. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  315.     {CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,5},
  316.  
  317.  
  318. /* 1000 0001 ssss dddd *** add rd,rs */
  319. {
  320. #ifdef NICENAMES
  321. "add rd,rs",16,4,
  322. 0x3c,
  323. #endif
  324. "add",OPC_add,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  325.     {CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,6},
  326.  
  327.  
  328. /* 0000 0000 ssN0 dddd *** addb rbd,@rs */
  329. {
  330. #ifdef NICENAMES
  331. "addb rbd,@rs",8,7,
  332. 0x3f,
  333. #endif
  334. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  335.     {CLASS_BIT+0,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,7},
  336.  
  337.  
  338. /* 0100 0000 0000 dddd address_src *** addb rbd,address_src */
  339. {
  340. #ifdef NICENAMES
  341. "addb rbd,address_src",8,9,
  342. 0x3f,
  343. #endif
  344. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  345.     {CLASS_BIT+4,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,8},
  346.  
  347.  
  348. /* 0100 0000 ssN0 dddd address_src *** addb rbd,address_src(rs) */
  349. {
  350. #ifdef NICENAMES
  351. "addb rbd,address_src(rs)",8,10,
  352. 0x3f,
  353. #endif
  354. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  355.     {CLASS_BIT+4,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,9},
  356.  
  357.  
  358. /* 0000 0000 0000 dddd imm8 imm8 *** addb rbd,imm8 */
  359. {
  360. #ifdef NICENAMES
  361. "addb rbd,imm8",8,7,
  362. 0x3f,
  363. #endif
  364. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  365.     {CLASS_BIT+0,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,10},
  366.  
  367.  
  368. /* 1000 0000 ssss dddd *** addb rbd,rbs */
  369. {
  370. #ifdef NICENAMES
  371. "addb rbd,rbs",8,4,
  372. 0x3f,
  373. #endif
  374. "addb",OPC_addb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  375.     {CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,11},
  376.  
  377.  
  378. /* 0001 0110 ssN0 dddd *** addl rrd,@rs */
  379. {
  380. #ifdef NICENAMES
  381. "addl rrd,@rs",32,14,
  382. 0x3c,
  383. #endif
  384. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  385.     {CLASS_BIT+1,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,12},
  386.  
  387.  
  388. /* 0101 0110 0000 dddd address_src *** addl rrd,address_src */
  389. {
  390. #ifdef NICENAMES
  391. "addl rrd,address_src",32,15,
  392. 0x3c,
  393. #endif
  394. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  395.     {CLASS_BIT+5,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,13},
  396.  
  397.  
  398. /* 0101 0110 ssN0 dddd address_src *** addl rrd,address_src(rs) */
  399. {
  400. #ifdef NICENAMES
  401. "addl rrd,address_src(rs)",32,16,
  402. 0x3c,
  403. #endif
  404. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  405.     {CLASS_BIT+5,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,14},
  406.  
  407.  
  408. /* 0001 0110 0000 dddd imm32 *** addl rrd,imm32 */
  409. {
  410. #ifdef NICENAMES
  411. "addl rrd,imm32",32,14,
  412. 0x3c,
  413. #endif
  414. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  415.     {CLASS_BIT+1,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,15},
  416.  
  417.  
  418. /* 1001 0110 ssss dddd *** addl rrd,rrs */
  419. {
  420. #ifdef NICENAMES
  421. "addl rrd,rrs",32,8,
  422. 0x3c,
  423. #endif
  424. "addl",OPC_addl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  425.     {CLASS_BIT+9,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,16},
  426.  
  427.  
  428. /* 0000 0111 ssN0 dddd *** and rd,@rs */
  429. {
  430. #ifdef NICENAMES
  431. "and rd,@rs",16,7,
  432. 0x18,
  433. #endif
  434. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  435.     {CLASS_BIT+0,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,17},
  436.  
  437.  
  438. /* 0100 0111 0000 dddd address_src *** and rd,address_src */
  439. {
  440. #ifdef NICENAMES
  441. "and rd,address_src",16,9,
  442. 0x18,
  443. #endif
  444. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  445.     {CLASS_BIT+4,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,18},
  446.  
  447.  
  448. /* 0100 0111 ssN0 dddd address_src *** and rd,address_src(rs) */
  449. {
  450. #ifdef NICENAMES
  451. "and rd,address_src(rs)",16,10,
  452. 0x18,
  453. #endif
  454. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  455.     {CLASS_BIT+4,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,19},
  456.  
  457.  
  458. /* 0000 0111 0000 dddd imm16 *** and rd,imm16 */
  459. {
  460. #ifdef NICENAMES
  461. "and rd,imm16",16,7,
  462. 0x18,
  463. #endif
  464. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  465.     {CLASS_BIT+0,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,20},
  466.  
  467.  
  468. /* 1000 0111 ssss dddd *** and rd,rs */
  469. {
  470. #ifdef NICENAMES
  471. "and rd,rs",16,4,
  472. 0x18,
  473. #endif
  474. "and",OPC_and,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  475.     {CLASS_BIT+8,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,21},
  476.  
  477.  
  478. /* 0000 0110 ssN0 dddd *** andb rbd,@rs */
  479. {
  480. #ifdef NICENAMES
  481. "andb rbd,@rs",8,7,
  482. 0x1c,
  483. #endif
  484. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  485.     {CLASS_BIT+0,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,22},
  486.  
  487.  
  488. /* 0100 0110 0000 dddd address_src *** andb rbd,address_src */
  489. {
  490. #ifdef NICENAMES
  491. "andb rbd,address_src",8,9,
  492. 0x1c,
  493. #endif
  494. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  495.     {CLASS_BIT+4,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,23},
  496.  
  497.  
  498. /* 0100 0110 ssN0 dddd address_src *** andb rbd,address_src(rs) */
  499. {
  500. #ifdef NICENAMES
  501. "andb rbd,address_src(rs)",8,10,
  502. 0x1c,
  503. #endif
  504. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  505.     {CLASS_BIT+4,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,24},
  506.  
  507.  
  508. /* 0000 0110 0000 dddd imm8 imm8 *** andb rbd,imm8 */
  509. {
  510. #ifdef NICENAMES
  511. "andb rbd,imm8",8,7,
  512. 0x1c,
  513. #endif
  514. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  515.     {CLASS_BIT+0,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,25},
  516.  
  517.  
  518. /* 1000 0110 ssss dddd *** andb rbd,rbs */
  519. {
  520. #ifdef NICENAMES
  521. "andb rbd,rbs",8,4,
  522. 0x1c,
  523. #endif
  524. "andb",OPC_andb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  525.     {CLASS_BIT+8,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,26},
  526.  
  527.  
  528. /* 0010 0111 ddN0 imm4 *** bit @rd,imm4 */
  529. {
  530. #ifdef NICENAMES
  531. "bit @rd,imm4",16,8,
  532. 0x10,
  533. #endif
  534. "bit",OPC_bit,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  535.     {CLASS_BIT+2,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,27},
  536.  
  537.  
  538. /* 0110 0111 ddN0 imm4 address_dst *** bit address_dst(rd),imm4 */
  539. {
  540. #ifdef NICENAMES
  541. "bit address_dst(rd),imm4",16,11,
  542. 0x10,
  543. #endif
  544. "bit",OPC_bit,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  545.     {CLASS_BIT+6,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,28},
  546.  
  547.  
  548. /* 0110 0111 0000 imm4 address_dst *** bit address_dst,imm4 */
  549. {
  550. #ifdef NICENAMES
  551. "bit address_dst,imm4",16,10,
  552. 0x10,
  553. #endif
  554. "bit",OPC_bit,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  555.     {CLASS_BIT+6,CLASS_BIT+7,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,29},
  556.  
  557.  
  558. /* 1010 0111 dddd imm4 *** bit rd,imm4 */
  559. {
  560. #ifdef NICENAMES
  561. "bit rd,imm4",16,4,
  562. 0x10,
  563. #endif
  564. "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  565.     {CLASS_BIT+0xa,CLASS_BIT+7,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,30},
  566.  
  567.  
  568. /* 0010 0111 0000 ssss 0000 dddd 0000 0000 *** bit rd,rs */
  569. {
  570. #ifdef NICENAMES
  571. "bit rd,rs",16,10,
  572. 0x10,
  573. #endif
  574. "bit",OPC_bit,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  575.     {CLASS_BIT+2,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,31},
  576.  
  577.  
  578. /* 0010 0110 ddN0 imm4 *** bitb @rd,imm4 */
  579. {
  580. #ifdef NICENAMES
  581. "bitb @rd,imm4",8,8,
  582. 0x10,
  583. #endif
  584. "bitb",OPC_bitb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  585.     {CLASS_BIT+2,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,32},
  586.  
  587.  
  588. /* 0110 0110 ddN0 imm4 address_dst *** bitb address_dst(rd),imm4 */
  589. {
  590. #ifdef NICENAMES
  591. "bitb address_dst(rd),imm4",8,11,
  592. 0x10,
  593. #endif
  594. "bitb",OPC_bitb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  595.     {CLASS_BIT+6,CLASS_BIT+6,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,33},
  596.  
  597.  
  598. /* 0110 0110 0000 imm4 address_dst *** bitb address_dst,imm4 */
  599. {
  600. #ifdef NICENAMES
  601. "bitb address_dst,imm4",8,10,
  602. 0x10,
  603. #endif
  604. "bitb",OPC_bitb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  605.     {CLASS_BIT+6,CLASS_BIT+6,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,34},
  606.  
  607.  
  608. /* 1010 0110 dddd imm4 *** bitb rbd,imm4 */
  609. {
  610. #ifdef NICENAMES
  611. "bitb rbd,imm4",8,4,
  612. 0x10,
  613. #endif
  614. "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  615.     {CLASS_BIT+0xa,CLASS_BIT+6,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,35},
  616.  
  617.  
  618. /* 0010 0110 0000 ssss 0000 dddd 0000 0000 *** bitb rbd,rs */
  619. {
  620. #ifdef NICENAMES
  621. "bitb rbd,rs",8,10,
  622. 0x10,
  623. #endif
  624. "bitb",OPC_bitb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  625.     {CLASS_BIT+2,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,36},
  626.  
  627.  
  628. /* 0011 0110 0000 0000 *** bpt */
  629. {
  630. #ifdef NICENAMES
  631. "bpt",8,2,
  632. 0x00,
  633. #endif
  634. "bpt",OPC_bpt,0,{0},
  635.     {CLASS_BIT+3,CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,37},
  636.  
  637.  
  638. /* 0001 1111 ddN0 0000 *** call @rd */
  639. {
  640. #ifdef NICENAMES
  641. "call @rd",32,10,
  642. 0x00,
  643. #endif
  644. "call",OPC_call,0,{CLASS_IR+(ARG_RD),},
  645.     {CLASS_BIT+1,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,38},
  646.  
  647.  
  648. /* 0101 1111 0000 0000 address_dst *** call address_dst */
  649. {
  650. #ifdef NICENAMES
  651. "call address_dst",32,12,
  652. 0x00,
  653. #endif
  654. "call",OPC_call,0,{CLASS_DA+(ARG_DST),},
  655.     {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,39},
  656.  
  657.  
  658. /* 0101 1111 ddN0 0000 address_dst *** call address_dst(rd) */
  659. {
  660. #ifdef NICENAMES
  661. "call address_dst(rd)",32,13,
  662. 0x00,
  663. #endif
  664. "call",OPC_call,0,{CLASS_X+(ARG_RD),},
  665.     {CLASS_BIT+5,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,40},
  666.  
  667.  
  668. /* 1101 disp12 *** calr disp12 */
  669. {
  670. #ifdef NICENAMES
  671. "calr disp12",16,10,
  672. 0x00,
  673. #endif
  674. "calr",OPC_calr,0,{CLASS_DISP,},
  675.     {CLASS_BIT+0xd,CLASS_DISP+(ARG_DISP12),0,0,0,0,0,0,0,},1,2,41},
  676.  
  677.  
  678. /* 0000 1101 ddN0 1000 *** clr @rd */
  679. {
  680. #ifdef NICENAMES
  681. "clr @rd",16,8,
  682. 0x00,
  683. #endif
  684. "clr",OPC_clr,0,{CLASS_IR+(ARG_RD),},
  685.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,42},
  686.  
  687.  
  688. /* 0100 1101 0000 1000 address_dst *** clr address_dst */
  689. {
  690. #ifdef NICENAMES
  691. "clr address_dst",16,11,
  692. 0x00,
  693. #endif
  694. "clr",OPC_clr,0,{CLASS_DA+(ARG_DST),},
  695.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,43},
  696.  
  697.  
  698. /* 0100 1101 ddN0 1000 address_dst *** clr address_dst(rd) */
  699. {
  700. #ifdef NICENAMES
  701. "clr address_dst(rd)",16,12,
  702. 0x00,
  703. #endif
  704. "clr",OPC_clr,0,{CLASS_X+(ARG_RD),},
  705.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,44},
  706.  
  707.  
  708. /* 1000 1101 dddd 1000 *** clr rd */
  709. {
  710. #ifdef NICENAMES
  711. "clr rd",16,7,
  712. 0x00,
  713. #endif
  714. "clr",OPC_clr,0,{CLASS_REG_WORD+(ARG_RD),},
  715.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,45},
  716.  
  717.  
  718. /* 0000 1100 ddN0 1000 *** clrb @rd */
  719. {
  720. #ifdef NICENAMES
  721. "clrb @rd",8,8,
  722. 0x00,
  723. #endif
  724. "clrb",OPC_clrb,0,{CLASS_IR+(ARG_RD),},
  725.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,46},
  726.  
  727.  
  728. /* 0100 1100 0000 1000 address_dst *** clrb address_dst */
  729. {
  730. #ifdef NICENAMES
  731. "clrb address_dst",8,11,
  732. 0x00,
  733. #endif
  734. "clrb",OPC_clrb,0,{CLASS_DA+(ARG_DST),},
  735.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,47},
  736.  
  737.  
  738. /* 0100 1100 ddN0 1000 address_dst *** clrb address_dst(rd) */
  739. {
  740. #ifdef NICENAMES
  741. "clrb address_dst(rd)",8,12,
  742. 0x00,
  743. #endif
  744. "clrb",OPC_clrb,0,{CLASS_X+(ARG_RD),},
  745.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,48},
  746.  
  747.  
  748. /* 1000 1100 dddd 1000 *** clrb rbd */
  749. {
  750. #ifdef NICENAMES
  751. "clrb rbd",8,7,
  752. 0x00,
  753. #endif
  754. "clrb",OPC_clrb,0,{CLASS_REG_BYTE+(ARG_RD),},
  755.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,49},
  756.  
  757.  
  758. /* 0000 1101 ddN0 0000 *** com @rd */
  759. {
  760. #ifdef NICENAMES
  761. "com @rd",16,12,
  762. 0x18,
  763. #endif
  764. "com",OPC_com,0,{CLASS_IR+(ARG_RD),},
  765.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,50},
  766.  
  767.  
  768. /* 0100 1101 0000 0000 address_dst *** com address_dst */
  769. {
  770. #ifdef NICENAMES
  771. "com address_dst",16,15,
  772. 0x18,
  773. #endif
  774. "com",OPC_com,0,{CLASS_DA+(ARG_DST),},
  775.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,51},
  776.  
  777.  
  778. /* 0100 1101 ddN0 0000 address_dst *** com address_dst(rd) */
  779. {
  780. #ifdef NICENAMES
  781. "com address_dst(rd)",16,16,
  782. 0x18,
  783. #endif
  784. "com",OPC_com,0,{CLASS_X+(ARG_RD),},
  785.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,52},
  786.  
  787.  
  788. /* 1000 1101 dddd 0000 *** com rd */
  789. {
  790. #ifdef NICENAMES
  791. "com rd",16,7,
  792. 0x18,
  793. #endif
  794. "com",OPC_com,0,{CLASS_REG_WORD+(ARG_RD),},
  795.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,53},
  796.  
  797.  
  798. /* 0000 1100 ddN0 0000 *** comb @rd */
  799. {
  800. #ifdef NICENAMES
  801. "comb @rd",8,12,
  802. 0x1c,
  803. #endif
  804. "comb",OPC_comb,0,{CLASS_IR+(ARG_RD),},
  805.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,54},
  806.  
  807.  
  808. /* 0100 1100 0000 0000 address_dst *** comb address_dst */
  809. {
  810. #ifdef NICENAMES
  811. "comb address_dst",8,15,
  812. 0x1c,
  813. #endif
  814. "comb",OPC_comb,0,{CLASS_DA+(ARG_DST),},
  815.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,55},
  816.  
  817.  
  818. /* 0100 1100 ddN0 0000 address_dst *** comb address_dst(rd) */
  819. {
  820. #ifdef NICENAMES
  821. "comb address_dst(rd)",8,16,
  822. 0x1c,
  823. #endif
  824. "comb",OPC_comb,0,{CLASS_X+(ARG_RD),},
  825.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,56},
  826.  
  827.  
  828. /* 1000 1100 dddd 0000 *** comb rbd */
  829. {
  830. #ifdef NICENAMES
  831. "comb rbd",8,7,
  832. 0x1c,
  833. #endif
  834. "comb",OPC_comb,0,{CLASS_REG_BYTE+(ARG_RD),},
  835.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,57},
  836.  
  837.  
  838. /* 1000 1101 imm4 0101 *** comflg flags */
  839. {
  840. #ifdef NICENAMES
  841. "comflg flags",16,7,
  842. 0x3c,
  843. #endif
  844. "comflg",OPC_comflg,0,{CLASS_FLAGS,},
  845.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+5,0,0,0,0,0,},1,2,58},
  846.  
  847.  
  848. /* 0000 1101 ddN0 0001 imm16 *** cp @rd,imm16 */
  849. {
  850. #ifdef NICENAMES
  851. "cp @rd,imm16",16,11,
  852. 0x3c,
  853. #endif
  854. "cp",OPC_cp,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  855.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,59},
  856.  
  857.  
  858. /* 0100 1101 ddN0 0001 address_dst imm16 *** cp address_dst(rd),imm16 */
  859. {
  860. #ifdef NICENAMES
  861. "cp address_dst(rd),imm16",16,15,
  862. 0x3c,
  863. #endif
  864. "cp",OPC_cp,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  865.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,60},
  866.  
  867.  
  868. /* 0100 1101 0000 0001 address_dst imm16 *** cp address_dst,imm16 */
  869. {
  870. #ifdef NICENAMES
  871. "cp address_dst,imm16",16,14,
  872. 0x3c,
  873. #endif
  874. "cp",OPC_cp,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
  875.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,61},
  876.  
  877.  
  878. /* 0000 1011 ssN0 dddd *** cp rd,@rs */
  879. {
  880. #ifdef NICENAMES
  881. "cp rd,@rs",16,7,
  882. 0x3c,
  883. #endif
  884. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  885.     {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,62},
  886.  
  887.  
  888. /* 0100 1011 0000 dddd address_src *** cp rd,address_src */
  889. {
  890. #ifdef NICENAMES
  891. "cp rd,address_src",16,9,
  892. 0x3c,
  893. #endif
  894. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  895.     {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,63},
  896.  
  897.  
  898. /* 0100 1011 ssN0 dddd address_src *** cp rd,address_src(rs) */
  899. {
  900. #ifdef NICENAMES
  901. "cp rd,address_src(rs)",16,10,
  902. 0x3c,
  903. #endif
  904. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  905.     {CLASS_BIT+4,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,64},
  906.  
  907.  
  908. /* 0000 1011 0000 dddd imm16 *** cp rd,imm16 */
  909. {
  910. #ifdef NICENAMES
  911. "cp rd,imm16",16,7,
  912. 0x3c,
  913. #endif
  914. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  915.     {CLASS_BIT+0,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,65},
  916.  
  917.  
  918. /* 1000 1011 ssss dddd *** cp rd,rs */
  919. {
  920. #ifdef NICENAMES
  921. "cp rd,rs",16,4,
  922. 0x3c,
  923. #endif
  924. "cp",OPC_cp,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  925.     {CLASS_BIT+8,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,66},
  926.  
  927.  
  928. /* 0000 1100 ddN0 0001 imm8 imm8 *** cpb @rd,imm8 */
  929. {
  930. #ifdef NICENAMES
  931. "cpb @rd,imm8",8,11,
  932. 0x3c,
  933. #endif
  934. "cpb",OPC_cpb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  935.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,67},
  936.  
  937.  
  938. /* 0100 1100 ddN0 0001 address_dst imm8 imm8 *** cpb address_dst(rd),imm8 */
  939. {
  940. #ifdef NICENAMES
  941. "cpb address_dst(rd),imm8",8,15,
  942. 0x3c,
  943. #endif
  944. "cpb",OPC_cpb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  945.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,68},
  946.  
  947.  
  948. /* 0100 1100 0000 0001 address_dst imm8 imm8 *** cpb address_dst,imm8 */
  949. {
  950. #ifdef NICENAMES
  951. "cpb address_dst,imm8",8,14,
  952. 0x3c,
  953. #endif
  954. "cpb",OPC_cpb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
  955.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,69},
  956.  
  957.  
  958. /* 0000 1010 ssN0 dddd *** cpb rbd,@rs */
  959. {
  960. #ifdef NICENAMES
  961. "cpb rbd,@rs",8,7,
  962. 0x3c,
  963. #endif
  964. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  965.     {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,70},
  966.  
  967.  
  968. /* 0100 1010 0000 dddd address_src *** cpb rbd,address_src */
  969. {
  970. #ifdef NICENAMES
  971. "cpb rbd,address_src",8,9,
  972. 0x3c,
  973. #endif
  974. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  975.     {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,71},
  976.  
  977.  
  978. /* 0100 1010 ssN0 dddd address_src *** cpb rbd,address_src(rs) */
  979. {
  980. #ifdef NICENAMES
  981. "cpb rbd,address_src(rs)",8,10,
  982. 0x3c,
  983. #endif
  984. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  985.     {CLASS_BIT+4,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,72},
  986.  
  987.  
  988. /* 0000 1010 0000 dddd imm8 imm8 *** cpb rbd,imm8 */
  989. {
  990. #ifdef NICENAMES
  991. "cpb rbd,imm8",8,7,
  992. 0x3c,
  993. #endif
  994. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  995.     {CLASS_BIT+0,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,73},
  996.  
  997.  
  998. /* 1000 1010 ssss dddd *** cpb rbd,rbs */
  999. {
  1000. #ifdef NICENAMES
  1001. "cpb rbd,rbs",8,4,
  1002. 0x3c,
  1003. #endif
  1004. "cpb",OPC_cpb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  1005.     {CLASS_BIT+8,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,74},
  1006.  
  1007.  
  1008. /* 1011 1011 ssN0 1000 0000 rrrr dddd cccc *** cpd rd,@rs,rr,cc */
  1009. {
  1010. #ifdef NICENAMES
  1011. "cpd rd,@rs,rr,cc",16,11,
  1012. 0x3c,
  1013. #endif
  1014. "cpd",OPC_cpd,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1015.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,75},
  1016.  
  1017.  
  1018. /* 1011 1010 ssN0 1000 0000 rrrr dddd cccc *** cpdb rbd,@rs,rr,cc */
  1019. {
  1020. #ifdef NICENAMES
  1021. "cpdb rbd,@rs,rr,cc",8,11,
  1022. 0x3c,
  1023. #endif
  1024. "cpdb",OPC_cpdb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1025.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,76},
  1026.  
  1027.  
  1028. /* 1011 1011 ssN0 1100 0000 rrrr dddd cccc *** cpdr rd,@rs,rr,cc */
  1029. {
  1030. #ifdef NICENAMES
  1031. "cpdr rd,@rs,rr,cc",16,11,
  1032. 0x3c,
  1033. #endif
  1034. "cpdr",OPC_cpdr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1035.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,77},
  1036.  
  1037.  
  1038. /* 1011 1010 ssN0 1100 0000 rrrr dddd cccc *** cpdrb rbd,@rs,rr,cc */
  1039. {
  1040. #ifdef NICENAMES
  1041. "cpdrb rbd,@rs,rr,cc",8,11,
  1042. 0x3c,
  1043. #endif
  1044. "cpdrb",OPC_cpdrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1045.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,78},
  1046.  
  1047.  
  1048. /* 1011 1011 ssN0 0000 0000 rrrr dddd cccc *** cpi rd,@rs,rr,cc */
  1049. {
  1050. #ifdef NICENAMES
  1051. "cpi rd,@rs,rr,cc",16,11,
  1052. 0x3c,
  1053. #endif
  1054. "cpi",OPC_cpi,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1055.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,79},
  1056.  
  1057.  
  1058. /* 1011 1010 ssN0 0000 0000 rrrr dddd cccc *** cpib rbd,@rs,rr,cc */
  1059. {
  1060. #ifdef NICENAMES
  1061. "cpib rbd,@rs,rr,cc",8,11,
  1062. 0x3c,
  1063. #endif
  1064. "cpib",OPC_cpib,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1065.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,80},
  1066.  
  1067.  
  1068. /* 1011 1011 ssN0 0100 0000 rrrr dddd cccc *** cpir rd,@rs,rr,cc */
  1069. {
  1070. #ifdef NICENAMES
  1071. "cpir rd,@rs,rr,cc",16,11,
  1072. 0x3c,
  1073. #endif
  1074. "cpir",OPC_cpir,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1075.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,81},
  1076.  
  1077.  
  1078. /* 1011 1010 ssN0 0100 0000 rrrr dddd cccc *** cpirb rbd,@rs,rr,cc */
  1079. {
  1080. #ifdef NICENAMES
  1081. "cpirb rbd,@rs,rr,cc",8,11,
  1082. 0x3c,
  1083. #endif
  1084. "cpirb",OPC_cpirb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1085.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REG+(ARG_RD),CLASS_CC,0,},4,4,82},
  1086.  
  1087.  
  1088. /* 0001 0000 ssN0 dddd *** cpl rrd,@rs */
  1089. {
  1090. #ifdef NICENAMES
  1091. "cpl rrd,@rs",32,14,
  1092. 0x3c,
  1093. #endif
  1094. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  1095.     {CLASS_BIT+1,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,83},
  1096.  
  1097.  
  1098. /* 0101 0000 0000 dddd address_src *** cpl rrd,address_src */
  1099. {
  1100. #ifdef NICENAMES
  1101. "cpl rrd,address_src",32,15,
  1102. 0x3c,
  1103. #endif
  1104. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1105.     {CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,84},
  1106.  
  1107.  
  1108. /* 0101 0000 ssN0 dddd address_src *** cpl rrd,address_src(rs) */
  1109. {
  1110. #ifdef NICENAMES
  1111. "cpl rrd,address_src(rs)",32,16,
  1112. 0x3c,
  1113. #endif
  1114. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  1115.     {CLASS_BIT+5,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,85},
  1116.  
  1117.  
  1118. /* 0001 0000 0000 dddd imm32 *** cpl rrd,imm32 */
  1119. {
  1120. #ifdef NICENAMES
  1121. "cpl rrd,imm32",32,14,
  1122. 0x3c,
  1123. #endif
  1124. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  1125.     {CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,86},
  1126.  
  1127.  
  1128. /* 1001 0000 ssss dddd *** cpl rrd,rrs */
  1129. {
  1130. #ifdef NICENAMES
  1131. "cpl rrd,rrs",32,8,
  1132. 0x3c,
  1133. #endif
  1134. "cpl",OPC_cpl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  1135.     {CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,87},
  1136.  
  1137.  
  1138. /* 1011 1011 ssN0 1010 0000 rrrr ddN0 cccc *** cpsd @rd,@rs,rr,cc */
  1139. {
  1140. #ifdef NICENAMES
  1141. "cpsd @rd,@rs,rr,cc",16,11,
  1142. 0x3c,
  1143. #endif
  1144. "cpsd",OPC_cpsd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1145.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,88},
  1146.  
  1147.  
  1148. /* 1011 1010 ssN0 1010 0000 rrrr ddN0 cccc *** cpsdb @rd,@rs,rr,cc */
  1149. {
  1150. #ifdef NICENAMES
  1151. "cpsdb @rd,@rs,rr,cc",8,11,
  1152. 0x3c,
  1153. #endif
  1154. "cpsdb",OPC_cpsdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1155.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,89},
  1156.  
  1157.  
  1158. /* 1011 1011 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdr @rd,@rs,rr,cc */
  1159. {
  1160. #ifdef NICENAMES
  1161. "cpsdr @rd,@rs,rr,cc",16,11,
  1162. 0x3c,
  1163. #endif
  1164. "cpsdr",OPC_cpsdr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1165.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,90},
  1166.  
  1167.  
  1168. /* 1011 1010 ssN0 1110 0000 rrrr ddN0 cccc *** cpsdrb @rd,@rs,rr,cc */
  1169. {
  1170. #ifdef NICENAMES
  1171. "cpsdrb @rd,@rs,rr,cc",8,11,
  1172. 0x3c,
  1173. #endif
  1174. "cpsdrb",OPC_cpsdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1175.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,91},
  1176.  
  1177.  
  1178. /* 1011 1011 ssN0 0010 0000 rrrr ddN0 cccc *** cpsi @rd,@rs,rr,cc */
  1179. {
  1180. #ifdef NICENAMES
  1181. "cpsi @rd,@rs,rr,cc",16,11,
  1182. 0x3c,
  1183. #endif
  1184. "cpsi",OPC_cpsi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1185.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,92},
  1186.  
  1187.  
  1188. /* 1011 1010 ssN0 0010 0000 rrrr ddN0 cccc *** cpsib @rd,@rs,rr,cc */
  1189. {
  1190. #ifdef NICENAMES
  1191. "cpsib @rd,@rs,rr,cc",8,11,
  1192. 0x3c,
  1193. #endif
  1194. "cpsib",OPC_cpsib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1195.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,93},
  1196.  
  1197.  
  1198. /* 1011 1011 ssN0 0110 0000 rrrr ddN0 cccc *** cpsir @rd,@rs,rr,cc */
  1199. {
  1200. #ifdef NICENAMES
  1201. "cpsir @rd,@rs,rr,cc",16,11,
  1202. 0x3c,
  1203. #endif
  1204. "cpsir",OPC_cpsir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1205.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,94},
  1206.  
  1207.  
  1208. /* 1011 1010 ssN0 0110 0000 rrrr ddN0 cccc *** cpsirb @rd,@rs,rr,cc */
  1209. {
  1210. #ifdef NICENAMES
  1211. "cpsirb @rd,@rs,rr,cc",8,11,
  1212. 0x3c,
  1213. #endif
  1214. "cpsirb",OPC_cpsirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),CLASS_CC,},
  1215.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_CC,0,},4,4,95},
  1216.  
  1217.  
  1218. /* 1011 0000 dddd 0000 *** dab rbd */
  1219. {
  1220. #ifdef NICENAMES
  1221. "dab rbd",8,5,
  1222. 0x38,
  1223. #endif
  1224. "dab",OPC_dab,0,{CLASS_REG_BYTE+(ARG_RD),},
  1225.     {CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,96},
  1226.  
  1227.  
  1228. /* 1111 dddd 1disp7 *** dbjnz rbd,disp7 */
  1229. {
  1230. #ifdef NICENAMES
  1231. "dbjnz rbd,disp7",16,11,
  1232. 0x00,
  1233. #endif
  1234. "dbjnz",OPC_dbjnz,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
  1235.     {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_1DISP7,0,0,0,0,0,0,},2,2,97},
  1236.  
  1237.  
  1238. /* 0010 1011 ddN0 imm4m1 *** dec @rd,imm4m1 */
  1239. {
  1240. #ifdef NICENAMES
  1241. "dec @rd,imm4m1",16,11,
  1242. 0x1c,
  1243. #endif
  1244. "dec",OPC_dec,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1245.     {CLASS_BIT+2,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,98},
  1246.  
  1247.  
  1248. /* 0110 1011 ddN0 imm4m1 address_dst *** dec address_dst(rd),imm4m1 */
  1249. {
  1250. #ifdef NICENAMES
  1251. "dec address_dst(rd),imm4m1",16,14,
  1252. 0x1c,
  1253. #endif
  1254. "dec",OPC_dec,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1255.     {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,99},
  1256.  
  1257.  
  1258. /* 0110 1011 0000 imm4m1 address_dst *** dec address_dst,imm4m1 */
  1259. {
  1260. #ifdef NICENAMES
  1261. "dec address_dst,imm4m1",16,13,
  1262. 0x1c,
  1263. #endif
  1264. "dec",OPC_dec,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1265.     {CLASS_BIT+6,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,100},
  1266.  
  1267.  
  1268. /* 1010 1011 dddd imm4m1 *** dec rd,imm4m1 */
  1269. {
  1270. #ifdef NICENAMES
  1271. "dec rd,imm4m1",16,4,
  1272. 0x1c,
  1273. #endif
  1274. "dec",OPC_dec,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1275.     {CLASS_BIT+0xa,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,101},
  1276.  
  1277.  
  1278. /* 0010 1010 ddN0 imm4m1 *** decb @rd,imm4m1 */
  1279. {
  1280. #ifdef NICENAMES
  1281. "decb @rd,imm4m1",8,11,
  1282. 0x1c,
  1283. #endif
  1284. "decb",OPC_decb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1285.     {CLASS_BIT+2,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,102},
  1286.  
  1287.  
  1288. /* 0110 1010 ddN0 imm4m1 address_dst *** decb address_dst(rd),imm4m1 */
  1289. {
  1290. #ifdef NICENAMES
  1291. "decb address_dst(rd),imm4m1",8,14,
  1292. 0x1c,
  1293. #endif
  1294. "decb",OPC_decb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1295.     {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,103},
  1296.  
  1297.  
  1298. /* 0110 1010 0000 imm4m1 address_dst *** decb address_dst,imm4m1 */
  1299. {
  1300. #ifdef NICENAMES
  1301. "decb address_dst,imm4m1",8,13,
  1302. 0x1c,
  1303. #endif
  1304. "decb",OPC_decb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1305.     {CLASS_BIT+6,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,104},
  1306.  
  1307.  
  1308. /* 1010 1010 dddd imm4m1 *** decb rbd,imm4m1 */
  1309. {
  1310. #ifdef NICENAMES
  1311. "decb rbd,imm4m1",8,4,
  1312. 0x1c,
  1313. #endif
  1314. "decb",OPC_decb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1315.     {CLASS_BIT+0xa,CLASS_BIT+0xa,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,105},
  1316.  
  1317.  
  1318. /* 0111 1100 0000 00ii *** di i2 */
  1319. {
  1320. #ifdef NICENAMES
  1321. "di i2",16,7,
  1322. 0x00,
  1323. #endif
  1324. "di",OPC_di,0,{CLASS_IMM+(ARG_IMM2),},
  1325.     {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_00II,0,0,0,0,0,},1,2,106},
  1326.  
  1327.  
  1328. /* 0001 1011 ssN0 dddd *** div rrd,@rs */
  1329. {
  1330. #ifdef NICENAMES
  1331. "div rrd,@rs",16,107,
  1332. 0x3c,
  1333. #endif
  1334. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  1335.     {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,107},
  1336.  
  1337.  
  1338. /* 0101 1011 0000 dddd address_src *** div rrd,address_src */
  1339. {
  1340. #ifdef NICENAMES
  1341. "div rrd,address_src",16,107,
  1342. 0x3c,
  1343. #endif
  1344. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1345.     {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,108},
  1346.  
  1347.  
  1348. /* 0101 1011 ssN0 dddd address_src *** div rrd,address_src(rs) */
  1349. {
  1350. #ifdef NICENAMES
  1351. "div rrd,address_src(rs)",16,107,
  1352. 0x3c,
  1353. #endif
  1354. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  1355.     {CLASS_BIT+5,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,109},
  1356.  
  1357.  
  1358. /* 0001 1011 0000 dddd imm16 *** div rrd,imm16 */
  1359. {
  1360. #ifdef NICENAMES
  1361. "div rrd,imm16",16,107,
  1362. 0x3c,
  1363. #endif
  1364. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1365.     {CLASS_BIT+1,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,110},
  1366.  
  1367.  
  1368. /* 1001 1011 ssss dddd *** div rrd,rs */
  1369. {
  1370. #ifdef NICENAMES
  1371. "div rrd,rs",16,107,
  1372. 0x3c,
  1373. #endif
  1374. "div",OPC_div,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1375.     {CLASS_BIT+9,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,111},
  1376.  
  1377.  
  1378. /* 0001 1010 ssN0 dddd *** divl rqd,@rs */
  1379. {
  1380. #ifdef NICENAMES
  1381. "divl rqd,@rs",32,744,
  1382. 0x3c,
  1383. #endif
  1384. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1385.     {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,112},
  1386.  
  1387.  
  1388. /* 0101 1010 0000 dddd address_src *** divl rqd,address_src */
  1389. {
  1390. #ifdef NICENAMES
  1391. "divl rqd,address_src",32,745,
  1392. 0x3c,
  1393. #endif
  1394. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1395.     {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,113},
  1396.  
  1397.  
  1398. /* 0101 1010 ssN0 dddd address_src *** divl rqd,address_src(rs) */
  1399. {
  1400. #ifdef NICENAMES
  1401. "divl rqd,address_src(rs)",32,746,
  1402. 0x3c,
  1403. #endif
  1404. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
  1405.     {CLASS_BIT+5,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,114},
  1406.  
  1407.  
  1408. /* 0001 1010 0000 dddd imm32 *** divl rqd,imm32 */
  1409. {
  1410. #ifdef NICENAMES
  1411. "divl rqd,imm32",32,744,
  1412. 0x3c,
  1413. #endif
  1414. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  1415.     {CLASS_BIT+1,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,115},
  1416.  
  1417.  
  1418. /* 1001 1010 ssss dddd *** divl rqd,rrs */
  1419. {
  1420. #ifdef NICENAMES
  1421. "divl rqd,rrs",32,744,
  1422. 0x3c,
  1423. #endif
  1424. "divl",OPC_divl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  1425.     {CLASS_BIT+9,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,116},
  1426.  
  1427.  
  1428. /* 1111 dddd 0disp7 *** djnz rd,disp7 */
  1429. {
  1430. #ifdef NICENAMES
  1431. "djnz rd,disp7",16,11,
  1432. 0x00,
  1433. #endif
  1434. "djnz",OPC_djnz,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
  1435.     {CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_0DISP7,0,0,0,0,0,0,},2,2,117},
  1436.  
  1437.  
  1438. /* 0111 1100 0000 01ii *** ei i2 */
  1439. {
  1440. #ifdef NICENAMES
  1441. "ei i2",16,7,
  1442. 0x00,
  1443. #endif
  1444. "ei",OPC_ei,0,{CLASS_IMM+(ARG_IMM2),},
  1445.     {CLASS_BIT+7,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_01II,0,0,0,0,0,},1,2,118},
  1446.  
  1447.  
  1448. /* 0010 1101 ssN0 dddd *** ex rd,@rs */
  1449. {
  1450. #ifdef NICENAMES
  1451. "ex rd,@rs",16,12,
  1452. 0x00,
  1453. #endif
  1454. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1455.     {CLASS_BIT+2,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,119},
  1456.  
  1457.  
  1458. /* 0110 1101 0000 dddd address_src *** ex rd,address_src */
  1459. {
  1460. #ifdef NICENAMES
  1461. "ex rd,address_src",16,15,
  1462. 0x00,
  1463. #endif
  1464. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1465.     {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,120},
  1466.  
  1467.  
  1468. /* 0110 1101 ssN0 dddd address_src *** ex rd,address_src(rs) */
  1469. {
  1470. #ifdef NICENAMES
  1471. "ex rd,address_src(rs)",16,16,
  1472. 0x00,
  1473. #endif
  1474. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  1475.     {CLASS_BIT+6,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,121},
  1476.  
  1477.  
  1478. /* 1010 1101 ssss dddd *** ex rd,rs */
  1479. {
  1480. #ifdef NICENAMES
  1481. "ex rd,rs",16,6,
  1482. 0x00,
  1483. #endif
  1484. "ex",OPC_ex,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1485.     {CLASS_BIT+0xa,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,122},
  1486.  
  1487.  
  1488. /* 0010 1100 ssN0 dddd *** exb rbd,@rs */
  1489. {
  1490. #ifdef NICENAMES
  1491. "exb rbd,@rs",8,12,
  1492. 0x00,
  1493. #endif
  1494. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  1495.     {CLASS_BIT+2,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,123},
  1496.  
  1497.  
  1498. /* 0110 1100 0000 dddd address_src *** exb rbd,address_src */
  1499. {
  1500. #ifdef NICENAMES
  1501. "exb rbd,address_src",8,15,
  1502. 0x00,
  1503. #endif
  1504. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1505.     {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,124},
  1506.  
  1507.  
  1508. /* 0110 1100 ssN0 dddd address_src *** exb rbd,address_src(rs) */
  1509. {
  1510. #ifdef NICENAMES
  1511. "exb rbd,address_src(rs)",8,16,
  1512. 0x00,
  1513. #endif
  1514. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  1515.     {CLASS_BIT+6,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,125},
  1516.  
  1517.  
  1518. /* 1010 1100 ssss dddd *** exb rbd,rbs */
  1519. {
  1520. #ifdef NICENAMES
  1521. "exb rbd,rbs",8,6,
  1522. 0x00,
  1523. #endif
  1524. "exb",OPC_exb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  1525.     {CLASS_BIT+0xa,CLASS_BIT+0xc,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,126},
  1526.  
  1527.  
  1528. /* 0000 1110 imm8 *** ext0e imm8 */
  1529. {
  1530. #ifdef NICENAMES
  1531. "ext0e imm8",8,10,
  1532. 0x00,
  1533. #endif
  1534. "ext0e",OPC_ext0e,0,{CLASS_IMM+(ARG_IMM8),},
  1535.     {CLASS_BIT+0,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,127},
  1536.  
  1537.  
  1538. /* 0000 1111 imm8 *** ext0f imm8 */
  1539. {
  1540. #ifdef NICENAMES
  1541. "ext0f imm8",8,10,
  1542. 0x00,
  1543. #endif
  1544. "ext0f",OPC_ext0f,0,{CLASS_IMM+(ARG_IMM8),},
  1545.     {CLASS_BIT+0,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,128},
  1546.  
  1547.  
  1548. /* 1000 1110 imm8 *** ext8e imm8 */
  1549. {
  1550. #ifdef NICENAMES
  1551. "ext8e imm8",8,10,
  1552. 0x00,
  1553. #endif
  1554. "ext8e",OPC_ext8e,0,{CLASS_IMM+(ARG_IMM8),},
  1555.     {CLASS_BIT+8,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,129},
  1556.  
  1557.  
  1558. /* 1000 1111 imm8 *** ext8f imm8 */
  1559. {
  1560. #ifdef NICENAMES
  1561. "ext8f imm8",8,10,
  1562. 0x00,
  1563. #endif
  1564. "ext8f",OPC_ext8f,0,{CLASS_IMM+(ARG_IMM8),},
  1565.     {CLASS_BIT+8,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,130},
  1566.  
  1567.  
  1568. /* 1011 0001 dddd 1010 *** exts rrd */
  1569. {
  1570. #ifdef NICENAMES
  1571. "exts rrd",16,11,
  1572. 0x00,
  1573. #endif
  1574. "exts",OPC_exts,0,{CLASS_REG_LONG+(ARG_RD),},
  1575.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0xa,0,0,0,0,0,},1,2,131},
  1576.  
  1577.  
  1578. /* 1011 0001 dddd 0000 *** extsb rd */
  1579. {
  1580. #ifdef NICENAMES
  1581. "extsb rd",8,11,
  1582. 0x00,
  1583. #endif
  1584. "extsb",OPC_extsb,0,{CLASS_REG_WORD+(ARG_RD),},
  1585.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+0,0,0,0,0,0,},1,2,132},
  1586.  
  1587.  
  1588. /* 1011 0001 dddd 0111 *** extsl rqd */
  1589. {
  1590. #ifdef NICENAMES
  1591. "extsl rqd",32,11,
  1592. 0x00,
  1593. #endif
  1594. "extsl",OPC_extsl,0,{CLASS_REG_QUAD+(ARG_RD),},
  1595.     {CLASS_BIT+0xb,CLASS_BIT+1,CLASS_REG+(ARG_RD),CLASS_BIT+7,0,0,0,0,0,},1,2,133},
  1596.  
  1597.  
  1598. /* 0111 1010 0000 0000 *** halt */
  1599. {
  1600. #ifdef NICENAMES
  1601. "halt",16,8,
  1602. 0x00,
  1603. #endif
  1604. "halt",OPC_halt,0,{0},
  1605.     {CLASS_BIT+7,CLASS_BIT+0xa,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,134},
  1606.  
  1607.  
  1608. /* 0011 1101 ssN0 dddd *** in rd,@rs */
  1609. {
  1610. #ifdef NICENAMES
  1611. "in rd,@rs",16,10,
  1612. 0x00,
  1613. #endif
  1614. "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1615.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,135},
  1616.  
  1617.  
  1618. /* 0011 1101 dddd 0100 imm16 *** in rd,imm16 */
  1619. {
  1620. #ifdef NICENAMES
  1621. "in rd,imm16",16,12,
  1622. 0x00,
  1623. #endif
  1624. "in",OPC_in,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1625.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,136},
  1626.  
  1627.  
  1628. /* 0011 1100 ssN0 dddd *** inb rbd,@rs */
  1629. {
  1630. #ifdef NICENAMES
  1631. "inb rbd,@rs",8,12,
  1632. 0x00,
  1633. #endif
  1634. "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  1635.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,137},
  1636.  
  1637.  
  1638. /* 0011 1100 dddd 0100 imm16 *** inb rbd,imm16 */
  1639. {
  1640. #ifdef NICENAMES
  1641. "inb rbd,imm16",8,10,
  1642. 0x00,
  1643. #endif
  1644. "inb",OPC_inb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1645.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,138},
  1646.  
  1647.  
  1648. /* 0010 1001 ddN0 imm4m1 *** inc @rd,imm4m1 */
  1649. {
  1650. #ifdef NICENAMES
  1651. "inc @rd,imm4m1",16,11,
  1652. 0x1c,
  1653. #endif
  1654. "inc",OPC_inc,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1655.     {CLASS_BIT+2,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,139},
  1656.  
  1657.  
  1658. /* 0110 1001 ddN0 imm4m1 address_dst *** inc address_dst(rd),imm4m1 */
  1659. {
  1660. #ifdef NICENAMES
  1661. "inc address_dst(rd),imm4m1",16,14,
  1662. 0x1c,
  1663. #endif
  1664. "inc",OPC_inc,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1665.     {CLASS_BIT+6,CLASS_BIT+9,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,140},
  1666.  
  1667.  
  1668. /* 0110 1001 0000 imm4m1 address_dst *** inc address_dst,imm4m1 */
  1669. {
  1670. #ifdef NICENAMES
  1671. "inc address_dst,imm4m1",16,13,
  1672. 0x1c,
  1673. #endif
  1674. "inc",OPC_inc,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1675.     {CLASS_BIT+6,CLASS_BIT+9,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,141},
  1676.  
  1677.  
  1678. /* 1010 1001 dddd imm4m1 *** inc rd,imm4m1 */
  1679. {
  1680. #ifdef NICENAMES
  1681. "inc rd,imm4m1",16,4,
  1682. 0x1c,
  1683. #endif
  1684. "inc",OPC_inc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1685.     {CLASS_BIT+0xa,CLASS_BIT+9,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,142},
  1686.  
  1687.  
  1688. /* 0010 1000 ddN0 imm4m1 *** incb @rd,imm4m1 */
  1689. {
  1690. #ifdef NICENAMES
  1691. "incb @rd,imm4m1",8,11,
  1692. 0x1c,
  1693. #endif
  1694. "incb",OPC_incb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1695.     {CLASS_BIT+2,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,143},
  1696.  
  1697.  
  1698. /* 0110 1000 ddN0 imm4m1 address_dst *** incb address_dst(rd),imm4m1 */
  1699. {
  1700. #ifdef NICENAMES
  1701. "incb address_dst(rd),imm4m1",8,14,
  1702. 0x1c,
  1703. #endif
  1704. "incb",OPC_incb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1705.     {CLASS_BIT+6,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,144},
  1706.  
  1707.  
  1708. /* 0110 1000 0000 imm4m1 address_dst *** incb address_dst,imm4m1 */
  1709. {
  1710. #ifdef NICENAMES
  1711. "incb address_dst,imm4m1",8,13,
  1712. 0x1c,
  1713. #endif
  1714. "incb",OPC_incb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4M1),},
  1715.     {CLASS_BIT+6,CLASS_BIT+8,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4M1),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,145},
  1716.  
  1717.  
  1718. /* 1010 1000 dddd imm4m1 *** incb rbd,imm4m1 */
  1719. {
  1720. #ifdef NICENAMES
  1721. "incb rbd,imm4m1",8,4,
  1722. 0x1c,
  1723. #endif
  1724. "incb",OPC_incb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4M1),},
  1725.     {CLASS_BIT+0xa,CLASS_BIT+8,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4M1),0,0,0,0,0,},2,2,146},
  1726.  
  1727.  
  1728. /* 0011 1011 ssN0 1000 0000 aaaa ddN0 1000 *** ind @rd,@rs,ra */
  1729. {
  1730. #ifdef NICENAMES
  1731. "ind @rd,@rs,ra",16,21,
  1732. 0x04,
  1733. #endif
  1734. "ind",OPC_ind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1735.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,147},
  1736.  
  1737.  
  1738. /* 0011 1010 ssN0 1000 0000 aaaa ddN0 1000 *** indb @rd,@rs,rba */
  1739. {
  1740. #ifdef NICENAMES
  1741. "indb @rd,@rs,rba",8,21,
  1742. 0x04,
  1743. #endif
  1744. "indb",OPC_indb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  1745.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,148},
  1746.  
  1747.  
  1748. /* 0011 1100 ssN0 0000 0000 aaaa ddN0 1000 *** inib @rd,@rs,ra */
  1749. {
  1750. #ifdef NICENAMES
  1751. "inib @rd,@rs,ra",8,21,
  1752. 0x04,
  1753. #endif
  1754. "inib",OPC_inib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1755.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,149},
  1756.  
  1757.  
  1758. /* 0011 1100 ssN0 0000 0000 aaaa ddN0 0000 *** inibr @rd,@rs,ra */
  1759. {
  1760. #ifdef NICENAMES
  1761. "inibr @rd,@rs,ra",16,21,
  1762. 0x04,
  1763. #endif
  1764. "inibr",OPC_inibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  1765.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,150},
  1766.  
  1767.  
  1768. /* 0111 1011 0000 0000 *** iret */
  1769. {
  1770. #ifdef NICENAMES
  1771. "iret",16,13,
  1772. 0x3f,
  1773. #endif
  1774. "iret",OPC_iret,0,{0},
  1775.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0,0,0,0,0,0,},0,2,151},
  1776.  
  1777.  
  1778. /* 0001 1110 ddN0 cccc *** jp cc,@rd */
  1779. {
  1780. #ifdef NICENAMES
  1781. "jp cc,@rd",16,10,
  1782. 0x00,
  1783. #endif
  1784. "jp",OPC_jp,0,{CLASS_CC,CLASS_IR+(ARG_RD),},
  1785.     {CLASS_BIT+1,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,152},
  1786.  
  1787.  
  1788. /* 0101 1110 0000 cccc address_dst *** jp cc,address_dst */
  1789. {
  1790. #ifdef NICENAMES
  1791. "jp cc,address_dst",16,7,
  1792. 0x00,
  1793. #endif
  1794. "jp",OPC_jp,0,{CLASS_CC,CLASS_DA+(ARG_DST),},
  1795.     {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,153},
  1796.  
  1797.  
  1798. /* 0101 1110 ddN0 cccc address_dst *** jp cc,address_dst(rd) */
  1799. {
  1800. #ifdef NICENAMES
  1801. "jp cc,address_dst(rd)",16,8,
  1802. 0x00,
  1803. #endif
  1804. "jp",OPC_jp,0,{CLASS_CC,CLASS_X+(ARG_RD),},
  1805.     {CLASS_BIT+5,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_CC,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,154},
  1806.  
  1807.  
  1808. /* 1110 cccc disp8 *** jr cc,disp8 */
  1809. {
  1810. #ifdef NICENAMES
  1811. "jr cc,disp8",16,6,
  1812. 0x00,
  1813. #endif
  1814. "jr",OPC_jr,0,{CLASS_CC,CLASS_DISP,},
  1815.     {CLASS_BIT+0xe,CLASS_CC,CLASS_DISP8,0,0,0,0,0,0,},2,2,155},
  1816.  
  1817.  
  1818. /* 0000 1101 ddN0 0101 imm16 *** ld @rd,imm16 */
  1819. {
  1820. #ifdef NICENAMES
  1821. "ld @rd,imm16",16,7,
  1822. 0x00,
  1823. #endif
  1824. "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1825.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,156},
  1826.  
  1827.  
  1828. /* 0010 1111 ddN0 ssss *** ld @rd,rs */
  1829. {
  1830. #ifdef NICENAMES
  1831. "ld @rd,rs",16,8,
  1832. 0x00,
  1833. #endif
  1834. "ld",OPC_ld,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1835.     {CLASS_BIT+2,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,157},
  1836.  
  1837.  
  1838. /* 0100 1101 ddN0 0101 address_dst imm16 *** ld address_dst(rd),imm16 */
  1839. {
  1840. #ifdef NICENAMES
  1841. "ld address_dst(rd),imm16",16,15,
  1842. 0x00,
  1843. #endif
  1844. "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1845.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,158},
  1846.  
  1847.  
  1848. /* 0110 1111 ddN0 ssss address_dst *** ld address_dst(rd),rs */
  1849. {
  1850. #ifdef NICENAMES
  1851. "ld address_dst(rd),rs",16,12,
  1852. 0x00,
  1853. #endif
  1854. "ld",OPC_ld,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1855.     {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,159},
  1856.  
  1857.  
  1858. /* 0100 1101 0000 0101 address_dst imm16 *** ld address_dst,imm16 */
  1859. {
  1860. #ifdef NICENAMES
  1861. "ld address_dst,imm16",16,14,
  1862. 0x00,
  1863. #endif
  1864. "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM16),},
  1865.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM16),0,0,0,},2,6,160},
  1866.  
  1867.  
  1868. /* 0110 1111 0000 ssss address_dst *** ld address_dst,rs */
  1869. {
  1870. #ifdef NICENAMES
  1871. "ld address_dst,rs",16,11,
  1872. 0x00,
  1873. #endif
  1874. "ld",OPC_ld,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),},
  1875.     {CLASS_BIT+6,CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,161},
  1876.  
  1877.  
  1878. /* 0011 0011 ddN0 ssss imm16 *** ld rd(imm16),rs */
  1879. {
  1880. #ifdef NICENAMES
  1881. "ld rd(imm16),rs",16,14,
  1882. 0x00,
  1883. #endif
  1884. "ld",OPC_ld,0,{CLASS_BA+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1885.     {CLASS_BIT+3,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,162},
  1886.  
  1887.  
  1888. /* 0111 0011 ddN0 ssss 0000 xxxx 0000 0000 *** ld rd(rx),rs */
  1889. {
  1890. #ifdef NICENAMES
  1891. "ld rd(rx),rs",16,14,
  1892. 0x00,
  1893. #endif
  1894. "ld",OPC_ld,0,{CLASS_BX+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1895.     {CLASS_BIT+7,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,163},
  1896.  
  1897.  
  1898. /* 0010 0001 ssN0 dddd *** ld rd,@rs */
  1899. {
  1900. #ifdef NICENAMES
  1901. "ld rd,@rs",16,7,
  1902. 0x00,
  1903. #endif
  1904. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  1905.     {CLASS_BIT+2,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,164},
  1906.  
  1907.  
  1908. /* 0110 0001 0000 dddd address_src *** ld rd,address_src */
  1909. {
  1910. #ifdef NICENAMES
  1911. "ld rd,address_src",16,9,
  1912. 0x00,
  1913. #endif
  1914. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1915.     {CLASS_BIT+6,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,165},
  1916.  
  1917.  
  1918. /* 0110 0001 ssN0 dddd address_src *** ld rd,address_src(rs) */
  1919. {
  1920. #ifdef NICENAMES
  1921. "ld rd,address_src(rs)",16,10,
  1922. 0x00,
  1923. #endif
  1924. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  1925.     {CLASS_BIT+6,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,166},
  1926.  
  1927.  
  1928. /* 0010 0001 0000 dddd imm16 *** ld rd,imm16 */
  1929. {
  1930. #ifdef NICENAMES
  1931. "ld rd,imm16",16,7,
  1932. 0x00,
  1933. #endif
  1934. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  1935.     {CLASS_BIT+2,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,167},
  1936.  
  1937.  
  1938. /* 1010 0001 ssss dddd *** ld rd,rs */
  1939. {
  1940. #ifdef NICENAMES
  1941. "ld rd,rs",16,3,
  1942. 0x00,
  1943. #endif
  1944. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  1945.     {CLASS_BIT+0xa,CLASS_BIT+1,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,168},
  1946.  
  1947.  
  1948. /* 0011 0001 ssN0 dddd imm16 *** ld rd,rs(imm16) */
  1949. {
  1950. #ifdef NICENAMES
  1951. "ld rd,rs(imm16)",16,14,
  1952. 0x00,
  1953. #endif
  1954. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BA+(ARG_RS),},
  1955.     {CLASS_BIT+3,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,169},
  1956.  
  1957.  
  1958. /* 0111 0001 ssN0 dddd 0000 xxxx 0000 0000 *** ld rd,rs(rx) */
  1959. {
  1960. #ifdef NICENAMES
  1961. "ld rd,rs(rx)",16,14,
  1962. 0x00,
  1963. #endif
  1964. "ld",OPC_ld,0,{CLASS_REG_WORD+(ARG_RD),CLASS_BX+(ARG_RS),},
  1965.     {CLASS_BIT+7,CLASS_BIT+1,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,170},
  1966.  
  1967.  
  1968. /* 0111 0110 0000 dddd address_src *** lda prd,address_src */
  1969. {
  1970. #ifdef NICENAMES
  1971. "lda prd,address_src",16,12,
  1972. 0x00,
  1973. #endif
  1974. "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_DA+(ARG_SRC),},
  1975.     {CLASS_BIT+7,CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,171},
  1976.  
  1977.  
  1978. /* 0111 0110 ssN0 dddd address_src *** lda prd,address_src(rs) */
  1979. {
  1980. #ifdef NICENAMES
  1981. "lda prd,address_src(rs)",16,13,
  1982. 0x00,
  1983. #endif
  1984. "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_X+(ARG_RS),},
  1985.     {CLASS_BIT+7,CLASS_BIT+6,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,172},
  1986.  
  1987.  
  1988. /* 0011 0100 ssN0 dddd imm16 *** lda prd,rs(imm16) */
  1989. {
  1990. #ifdef NICENAMES
  1991. "lda prd,rs(imm16)",16,15,
  1992. 0x00,
  1993. #endif
  1994. "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BA+(ARG_RS),},
  1995.     {CLASS_BIT+3,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,173},
  1996.  
  1997.  
  1998. /* 0111 0100 ssN0 dddd 0000 xxxx 0000 0000 *** lda prd,rs(rx) */
  1999. {
  2000. #ifdef NICENAMES
  2001. "lda prd,rs(rx)",16,15,
  2002. 0x00,
  2003. #endif
  2004. "lda",OPC_lda,0,{CLASS_PR+(ARG_RD),CLASS_BX+(ARG_RS),},
  2005.     {CLASS_BIT+7,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,174},
  2006.  
  2007.  
  2008. /* 0011 0100 0000 dddd disp16 *** ldar prd,disp16 */
  2009. {
  2010. #ifdef NICENAMES
  2011. "ldar prd,disp16",16,15,
  2012. 0x00,
  2013. #endif
  2014. "ldar",OPC_ldar,0,{CLASS_PR+(ARG_RD),CLASS_DISP,},
  2015.     {CLASS_BIT+3,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,175},
  2016.  
  2017.  
  2018. /* 0000 1100 ddN0 0101 imm8 imm8 *** ldb @rd,imm8 */
  2019. {
  2020. #ifdef NICENAMES
  2021. "ldb @rd,imm8",8,7,
  2022. 0x00,
  2023. #endif
  2024. "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2025.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,176},
  2026.  
  2027.  
  2028. /* 0010 1110 ddN0 ssss *** ldb @rd,rbs */
  2029. {
  2030. #ifdef NICENAMES
  2031. "ldb @rd,rbs",8,8,
  2032. 0x00,
  2033. #endif
  2034. "ldb",OPC_ldb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2035.     {CLASS_BIT+2,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,177},
  2036.  
  2037.  
  2038. /* 0100 1100 ddN0 0101 address_dst imm8 imm8 *** ldb address_dst(rd),imm8 */
  2039. {
  2040. #ifdef NICENAMES
  2041. "ldb address_dst(rd),imm8",8,15,
  2042. 0x00,
  2043. #endif
  2044. "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2045.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,178},
  2046.  
  2047.  
  2048. /* 0100 1110 ddN0 ssN0 address_dst *** ldb address_dst(rd),rbs */
  2049. {
  2050. #ifdef NICENAMES
  2051. "ldb address_dst(rd),rbs",8,12,
  2052. 0x00,
  2053. #endif
  2054. "ldb",OPC_ldb,0,{CLASS_X+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2055.     {CLASS_BIT+4,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,179},
  2056.  
  2057.  
  2058. /* 0100 1100 0000 0101 address_dst imm8 imm8 *** ldb address_dst,imm8 */
  2059. {
  2060. #ifdef NICENAMES
  2061. "ldb address_dst,imm8",8,14,
  2062. 0x00,
  2063. #endif
  2064. "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_IMM+(ARG_IMM8),},
  2065.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+5,CLASS_ADDRESS+(ARG_DST),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,},2,6,180},
  2066.  
  2067.  
  2068. /* 0110 1110 0000 ssss address_dst *** ldb address_dst,rbs */
  2069. {
  2070. #ifdef NICENAMES
  2071. "ldb address_dst,rbs",8,11,
  2072. 0x00,
  2073. #endif
  2074. "ldb",OPC_ldb,0,{CLASS_DA+(ARG_DST),CLASS_REG_BYTE+(ARG_RS),},
  2075.     {CLASS_BIT+6,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,181},
  2076.  
  2077.  
  2078. /* 0010 0000 ssN0 dddd *** ldb rbd,@rs */
  2079. {
  2080. #ifdef NICENAMES
  2081. "ldb rbd,@rs",8,7,
  2082. 0x00,
  2083. #endif
  2084. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  2085.     {CLASS_BIT+2,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,182},
  2086.  
  2087.  
  2088. /* 0110 0000 0000 dddd address_src *** ldb rbd,address_src */
  2089. {
  2090. #ifdef NICENAMES
  2091. "ldb rbd,address_src",8,9,
  2092. 0x00,
  2093. #endif
  2094. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2095.     {CLASS_BIT+6,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,183},
  2096.  
  2097.  
  2098. /* 0110 0000 ssN0 dddd address_src *** ldb rbd,address_src(rs) */
  2099. {
  2100. #ifdef NICENAMES
  2101. "ldb rbd,address_src(rs)",8,10,
  2102. 0x00,
  2103. #endif
  2104. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  2105.     {CLASS_BIT+6,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,184},
  2106.  
  2107.  
  2108. /* 1100 dddd imm8 *** ldb rbd,imm8 */
  2109. {
  2110. #ifdef NICENAMES
  2111. "ldb rbd,imm8",8,5,
  2112. 0x00,
  2113. #endif
  2114. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2115.     {CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},2,2,185},
  2116.  
  2117.  
  2118. /* 1010 0000 ssss dddd *** ldb rbd,rbs */
  2119. {
  2120. #ifdef NICENAMES
  2121. "ldb rbd,rbs",8,3,
  2122. 0x00,
  2123. #endif
  2124. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2125.     {CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,186},
  2126.  
  2127.  
  2128. /* 0011 0000 ssN0 dddd imm16 *** ldb rbd,rs(imm16) */
  2129. {
  2130. #ifdef NICENAMES
  2131. "ldb rbd,rs(imm16)",8,14,
  2132. 0x00,
  2133. #endif
  2134. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BA+(ARG_RS),},
  2135.     {CLASS_BIT+3,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,187},
  2136.  
  2137.  
  2138. /* 0111 0000 ssN0 dddd 0000 xxxx 0000 0000 *** ldb rbd,rs(rx) */
  2139. {
  2140. #ifdef NICENAMES
  2141. "ldb rbd,rs(rx)",8,14,
  2142. 0x00,
  2143. #endif
  2144. "ldb",OPC_ldb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_BX+(ARG_RS),},
  2145.     {CLASS_BIT+7,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,188},
  2146.  
  2147.  
  2148. /* 0011 0010 ddN0 ssss imm16 *** ldb rd(imm16),rbs */
  2149. {
  2150. #ifdef NICENAMES
  2151. "ldb rd(imm16),rbs",8,14,
  2152. 0x00,
  2153. #endif
  2154. "ldb",OPC_ldb,0,{CLASS_BA+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2155.     {CLASS_BIT+3,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,189},
  2156.  
  2157.  
  2158. /* 0111 0010 ddN0 ssss 0000 xxxx 0000 0000 *** ldb rd(rx),rbs */
  2159. {
  2160. #ifdef NICENAMES
  2161. "ldb rd(rx),rbs",8,14,
  2162. 0x00,
  2163. #endif
  2164. "ldb",OPC_ldb,0,{CLASS_BX+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2165.     {CLASS_BIT+7,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,190},
  2166.  
  2167.  
  2168. /* 0111 1101 ssss 1ccc *** ldctl ctrl,rs */
  2169. {
  2170. #ifdef NICENAMES
  2171. "ldctl ctrl,rs",32,7,
  2172. 0x00,
  2173. #endif
  2174. "ldctl",OPC_ldctl,0,{CLASS_CTRL,CLASS_REG_WORD+(ARG_RS),},
  2175.     {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RS),CLASS_1CCC,0,0,0,0,0,},2,2,191},
  2176.  
  2177.  
  2178. /* 0111 1101 dddd 0ccc *** ldctl rd,ctrl */
  2179. {
  2180. #ifdef NICENAMES
  2181. "ldctl rd,ctrl",32,7,
  2182. 0x00,
  2183. #endif
  2184. "ldctl",OPC_ldctl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_CTRL,},
  2185.     {CLASS_BIT+7,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_0CCC,0,0,0,0,0,},2,2,192},
  2186.  
  2187.  
  2188. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 1000 *** ldd @rs,@rd,rr */
  2189. {
  2190. #ifdef NICENAMES
  2191. "ldd @rs,@rd,rr",16,11,
  2192. 0x04,
  2193. #endif
  2194. "ldd",OPC_ldd,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2195.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,193},
  2196.  
  2197.  
  2198. /* 1011 1010 ssN0 1001 0000 rrrr ddN0 1000 *** lddb @rs,@rd,rr */
  2199. {
  2200. #ifdef NICENAMES
  2201. "lddb @rs,@rd,rr",8,11,
  2202. 0x04,
  2203. #endif
  2204. "lddb",OPC_lddb,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2205.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,194},
  2206.  
  2207.  
  2208. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddr @rs,@rd,rr */
  2209. {
  2210. #ifdef NICENAMES
  2211. "lddr @rs,@rd,rr",16,11,
  2212. 0x04,
  2213. #endif
  2214. "lddr",OPC_lddr,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2215.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,195},
  2216.  
  2217.  
  2218. /* 1011 1011 ssN0 1001 0000 rrrr ddN0 0000 *** lddrb @rs,@rd,rr */
  2219. {
  2220. #ifdef NICENAMES
  2221. "lddrb @rs,@rd,rr",8,11,
  2222. 0x04,
  2223. #endif
  2224. "lddrb",OPC_lddrb,0,{CLASS_IR+(ARG_RS),CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RR),},
  2225.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,196},
  2226.  
  2227.  
  2228. /* 1011 1011 ssN0 0001 0000 rrrr ddN0 1000 *** ldi @rd,@rs,rr */
  2229. {
  2230. #ifdef NICENAMES
  2231. "ldi @rd,@rs,rr",16,11,
  2232. 0x04,
  2233. #endif
  2234. "ldi",OPC_ldi,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2235.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,197},
  2236.  
  2237.  
  2238. /* 1011 1010 ssN0 0001 0000 rrrr ddN0 1000 *** ldib @rd,@rs,rr */
  2239. {
  2240. #ifdef NICENAMES
  2241. "ldib @rd,@rs,rr",8,11,
  2242. 0x04,
  2243. #endif
  2244. "ldib",OPC_ldib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2245.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,198},
  2246.  
  2247.  
  2248. /* 1011 1011 ssN0 0001 0000 rrrr ddN0 0000 *** ldir @rd,@rs,rr */
  2249. {
  2250. #ifdef NICENAMES
  2251. "ldir @rd,@rs,rr",16,11,
  2252. 0x04,
  2253. #endif
  2254. "ldir",OPC_ldir,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2255.     {CLASS_BIT+0xb,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,199},
  2256.  
  2257.  
  2258. /* 1011 1010 ssN0 0001 0000 rrrr ddN0 0000 *** ldirb @rd,@rs,rr */
  2259. {
  2260. #ifdef NICENAMES
  2261. "ldirb @rd,@rs,rr",8,11,
  2262. 0x04,
  2263. #endif
  2264. "ldirb",OPC_ldirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RR),},
  2265.     {CLASS_BIT+0xb,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,200},
  2266.  
  2267.  
  2268. /* 1011 1101 dddd imm4 *** ldk rd,imm4 */
  2269. {
  2270. #ifdef NICENAMES
  2271. "ldk rd,imm4",16,5,
  2272. 0x00,
  2273. #endif
  2274. "ldk",OPC_ldk,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  2275.     {CLASS_BIT+0xb,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,201},
  2276.  
  2277.  
  2278. /* 0001 1101 ddN0 ssss *** ldl @rd,rrs */
  2279. {
  2280. #ifdef NICENAMES
  2281. "ldl @rd,rrs",32,11,
  2282. 0x00,
  2283. #endif
  2284. "ldl",OPC_ldl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2285.     {CLASS_BIT+1,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,202},
  2286.  
  2287.  
  2288. /* 0101 1101 ddN0 ssss address_dst *** ldl address_dst(rd),rrs */
  2289. {
  2290. #ifdef NICENAMES
  2291. "ldl address_dst(rd),rrs",32,14,
  2292. 0x00,
  2293. #endif
  2294. "ldl",OPC_ldl,0,{CLASS_X+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2295.     {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,203},
  2296.  
  2297.  
  2298. /* 0101 1101 0000 ssss address_dst *** ldl address_dst,rrs */
  2299. {
  2300. #ifdef NICENAMES
  2301. "ldl address_dst,rrs",32,15,
  2302. 0x00,
  2303. #endif
  2304. "ldl",OPC_ldl,0,{CLASS_DA+(ARG_DST),CLASS_REG_LONG+(ARG_RS),},
  2305.     {CLASS_BIT+5,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,204},
  2306.  
  2307.  
  2308. /* 0011 0111 ddN0 ssss imm16 *** ldl rd(imm16),rrs */
  2309. {
  2310. #ifdef NICENAMES
  2311. "ldl rd(imm16),rrs",32,17,
  2312. 0x00,
  2313. #endif
  2314. "ldl",OPC_ldl,0,{CLASS_BA+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2315.     {CLASS_BIT+3,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,205},
  2316.  
  2317.  
  2318. /* 0111 0111 ddN0 ssss 0000 xxxx 0000 0000 *** ldl rd(rx),rrs */
  2319. {
  2320. #ifdef NICENAMES
  2321. "ldl rd(rx),rrs",32,17,
  2322. 0x00,
  2323. #endif
  2324. "ldl",OPC_ldl,0,{CLASS_BX+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2325.     {CLASS_BIT+7,CLASS_BIT+7,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,206},
  2326.  
  2327.  
  2328. /* 0001 0100 ssN0 dddd *** ldl rrd,@rs */
  2329. {
  2330. #ifdef NICENAMES
  2331. "ldl rrd,@rs",32,11,
  2332. 0x00,
  2333. #endif
  2334. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  2335.     {CLASS_BIT+1,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,207},
  2336.  
  2337.  
  2338. /* 0101 0100 0000 dddd address_src *** ldl rrd,address_src */
  2339. {
  2340. #ifdef NICENAMES
  2341. "ldl rrd,address_src",32,12,
  2342. 0x00,
  2343. #endif
  2344. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2345.     {CLASS_BIT+5,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,208},
  2346.  
  2347.  
  2348. /* 0101 0100 ssN0 dddd address_src *** ldl rrd,address_src(rs) */
  2349. {
  2350. #ifdef NICENAMES
  2351. "ldl rrd,address_src(rs)",32,13,
  2352. 0x00,
  2353. #endif
  2354. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  2355.     {CLASS_BIT+5,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,209},
  2356.  
  2357.  
  2358. /* 0001 0100 0000 dddd imm32 *** ldl rrd,imm32 */
  2359. {
  2360. #ifdef NICENAMES
  2361. "ldl rrd,imm32",32,11,
  2362. 0x00,
  2363. #endif
  2364. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  2365.     {CLASS_BIT+1,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,210},
  2366.  
  2367.  
  2368. /* 1001 0100 ssss dddd *** ldl rrd,rrs */
  2369. {
  2370. #ifdef NICENAMES
  2371. "ldl rrd,rrs",32,5,
  2372. 0x00,
  2373. #endif
  2374. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2375.     {CLASS_BIT+9,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,211},
  2376.  
  2377.  
  2378. /* 0011 0101 ssN0 dddd imm16 *** ldl rrd,rs(imm16) */
  2379. {
  2380. #ifdef NICENAMES
  2381. "ldl rrd,rs(imm16)",32,17,
  2382. 0x00,
  2383. #endif
  2384. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BA+(ARG_RS),},
  2385.     {CLASS_BIT+3,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,212},
  2386.  
  2387.  
  2388. /* 0111 0101 ssN0 dddd 0000 xxxx 0000 0000 *** ldl rrd,rs(rx) */
  2389. {
  2390. #ifdef NICENAMES
  2391. "ldl rrd,rs(rx)",32,17,
  2392. 0x00,
  2393. #endif
  2394. "ldl",OPC_ldl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_BX+(ARG_RS),},
  2395.     {CLASS_BIT+7,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_REG+(ARG_RX),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,213},
  2396.  
  2397.  
  2398. /* 0001 1100 ddN0 1001 0000 ssss 0000 nminus1 *** ldm @rd,rs,n */
  2399. {
  2400. #ifdef NICENAMES
  2401. "ldm @rd,rs,n",16,11,
  2402. 0x00,
  2403. #endif
  2404. "ldm",OPC_ldm,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2405.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,214},
  2406.  
  2407.  
  2408. /* 0101 1100 ddN0 1001 0000 ssN0 0000 nminus1 address_dst *** ldm address_dst(rd),rs,n */
  2409. {
  2410. #ifdef NICENAMES
  2411. "ldm address_dst(rd),rs,n",16,15,
  2412. 0x00,
  2413. #endif
  2414. "ldm",OPC_ldm,0,{CLASS_X+(ARG_RD),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2415.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,215},
  2416.  
  2417.  
  2418. /* 0101 1100 0000 1001 0000 ssss 0000 nminus1 address_dst *** ldm address_dst,rs,n */
  2419. {
  2420. #ifdef NICENAMES
  2421. "ldm address_dst,rs,n",16,14,
  2422. 0x00,
  2423. #endif
  2424. "ldm",OPC_ldm,0,{CLASS_DA+(ARG_DST),CLASS_REG_WORD+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2425.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_DST),},3,6,216},
  2426.  
  2427.  
  2428. /* 0001 1100 ssN0 0001 0000 dddd 0000 nminus1 *** ldm rd,@rs,n */
  2429. {
  2430. #ifdef NICENAMES
  2431. "ldm rd,@rs,n",16,11,
  2432. 0x00,
  2433. #endif
  2434. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2435.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),0,},3,4,217},
  2436.  
  2437.  
  2438. /* 0101 1100 ssN0 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src(rs),n */
  2439. {
  2440. #ifdef NICENAMES
  2441. "ldm rd,address_src(rs),n",16,15,
  2442. 0x00,
  2443. #endif
  2444. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),CLASS_IMM + (ARG_IMMN),},
  2445.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,218},
  2446.  
  2447.  
  2448. /* 0101 1100 0000 0001 0000 dddd 0000 nminus1 address_src *** ldm rd,address_src,n */
  2449. {
  2450. #ifdef NICENAMES
  2451. "ldm rd,address_src,n",16,14,
  2452. 0x00,
  2453. #endif
  2454. "ldm",OPC_ldm,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),CLASS_IMM + (ARG_IMMN),},
  2455.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_IMM+(ARG_IMMNMINUS1),CLASS_ADDRESS+(ARG_SRC),},3,6,219},
  2456.  
  2457.  
  2458. /* 0011 1001 ssN0 0000 *** ldps @rs */
  2459. {
  2460. #ifdef NICENAMES
  2461. "ldps @rs",16,12,
  2462. 0x3f,
  2463. #endif
  2464. "ldps",OPC_ldps,0,{CLASS_IR+(ARG_RS),},
  2465.     {CLASS_BIT+3,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,0,0,0,0,},1,2,220},
  2466.  
  2467.  
  2468. /* 0111 1001 0000 0000 address_src *** ldps address_src */
  2469. {
  2470. #ifdef NICENAMES
  2471. "ldps address_src",16,16,
  2472. 0x3f,
  2473. #endif
  2474. "ldps",OPC_ldps,0,{CLASS_DA+(ARG_SRC),},
  2475.     {CLASS_BIT+7,CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,221},
  2476.  
  2477.  
  2478. /* 0111 1001 ssN0 0000 address_src *** ldps address_src(rs) */
  2479. {
  2480. #ifdef NICENAMES
  2481. "ldps address_src(rs)",16,17,
  2482. 0x3f,
  2483. #endif
  2484. "ldps",OPC_ldps,0,{CLASS_X+(ARG_RS),},
  2485.     {CLASS_BIT+7,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},1,4,222},
  2486.  
  2487.  
  2488. /* 0011 0011 0000 ssss disp16 *** ldr disp16,rs */
  2489. {
  2490. #ifdef NICENAMES
  2491. "ldr disp16,rs",16,14,
  2492. 0x00,
  2493. #endif
  2494. "ldr",OPC_ldr,0,{CLASS_DISP,CLASS_REG_WORD+(ARG_RS),},
  2495.     {CLASS_BIT+3,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,223},
  2496.  
  2497.  
  2498. /* 0011 0001 0000 dddd disp16 *** ldr rd,disp16 */
  2499. {
  2500. #ifdef NICENAMES
  2501. "ldr rd,disp16",16,14,
  2502. 0x00,
  2503. #endif
  2504. "ldr",OPC_ldr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DISP,},
  2505.     {CLASS_BIT+3,CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,224},
  2506.  
  2507.  
  2508. /* 0011 0010 0000 ssss disp16 *** ldrb disp16,rbs */
  2509. {
  2510. #ifdef NICENAMES
  2511. "ldrb disp16,rbs",8,14,
  2512. 0x00,
  2513. #endif
  2514. "ldrb",OPC_ldrb,0,{CLASS_DISP,CLASS_REG_BYTE+(ARG_RS),},
  2515.     {CLASS_BIT+3,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,225},
  2516.  
  2517.  
  2518. /* 0011 0000 0000 dddd disp16 *** ldrb rbd,disp16 */
  2519. {
  2520. #ifdef NICENAMES
  2521. "ldrb rbd,disp16",8,14,
  2522. 0x00,
  2523. #endif
  2524. "ldrb",OPC_ldrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DISP,},
  2525.     {CLASS_BIT+3,CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,226},
  2526.  
  2527.  
  2528. /* 0011 0111 0000 ssss disp16 *** ldrl disp16,rrs */
  2529. {
  2530. #ifdef NICENAMES
  2531. "ldrl disp16,rrs",32,17,
  2532. 0x00,
  2533. #endif
  2534. "ldrl",OPC_ldrl,0,{CLASS_DISP,CLASS_REG_LONG+(ARG_RS),},
  2535.     {CLASS_BIT+3,CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,227},
  2536.  
  2537.  
  2538. /* 0011 0101 0000 dddd disp16 *** ldrl rrd,disp16 */
  2539. {
  2540. #ifdef NICENAMES
  2541. "ldrl rrd,disp16",32,17,
  2542. 0x00,
  2543. #endif
  2544. "ldrl",OPC_ldrl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DISP,},
  2545.     {CLASS_BIT+3,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_DISP+(ARG_DISP16),0,0,0,0,},2,4,228},
  2546.  
  2547.  
  2548. /* 0111 1011 0000 1010 *** mbit */
  2549. {
  2550. #ifdef NICENAMES
  2551. "mbit",16,7,
  2552. 0x38,
  2553. #endif
  2554. "mbit",OPC_mbit,0,{0},
  2555.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+0xa,0,0,0,0,0,},0,2,229},
  2556.  
  2557.  
  2558. /* 0111 1011 dddd 1101 *** mreq rd */
  2559. {
  2560. #ifdef NICENAMES
  2561. "mreq rd",16,12,
  2562. 0x18,
  2563. #endif
  2564. "mreq",OPC_mreq,0,{CLASS_REG_WORD+(ARG_RD),},
  2565.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,0,0,0,0,0,},1,2,230},
  2566.  
  2567.  
  2568. /* 0111 1011 0000 1001 *** mres */
  2569. {
  2570. #ifdef NICENAMES
  2571. "mres",16,5,
  2572. 0x00,
  2573. #endif
  2574. "mres",OPC_mres,0,{0},
  2575.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+9,0,0,0,0,0,},0,2,231},
  2576.  
  2577.  
  2578. /* 0111 1011 0000 1000 *** mset */
  2579. {
  2580. #ifdef NICENAMES
  2581. "mset",16,5,
  2582. 0x00,
  2583. #endif
  2584. "mset",OPC_mset,0,{0},
  2585.     {CLASS_BIT+7,CLASS_BIT+0xb,CLASS_BIT+0,CLASS_BIT+8,0,0,0,0,0,},0,2,232},
  2586.  
  2587.  
  2588. /* 0001 1001 ssN0 dddd *** mult rrd,@rs */
  2589. {
  2590. #ifdef NICENAMES
  2591. "mult rrd,@rs",16,70,
  2592. 0x3c,
  2593. #endif
  2594. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  2595.     {CLASS_BIT+1,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,233},
  2596.  
  2597.  
  2598. /* 0101 1001 0000 dddd address_src *** mult rrd,address_src */
  2599. {
  2600. #ifdef NICENAMES
  2601. "mult rrd,address_src",16,70,
  2602. 0x3c,
  2603. #endif
  2604. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2605.     {CLASS_BIT+5,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,234},
  2606.  
  2607.  
  2608. /* 0101 1001 ssN0 dddd address_src *** mult rrd,address_src(rs) */
  2609. {
  2610. #ifdef NICENAMES
  2611. "mult rrd,address_src(rs)",16,70,
  2612. 0x3c,
  2613. #endif
  2614. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  2615.     {CLASS_BIT+5,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,235},
  2616.  
  2617.  
  2618. /* 0001 1001 0000 dddd imm16 *** mult rrd,imm16 */
  2619. {
  2620. #ifdef NICENAMES
  2621. "mult rrd,imm16",16,70,
  2622. 0x3c,
  2623. #endif
  2624. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  2625.     {CLASS_BIT+1,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,236},
  2626.  
  2627.  
  2628. /* 1001 1001 ssss dddd *** mult rrd,rs */
  2629. {
  2630. #ifdef NICENAMES
  2631. "mult rrd,rs",16,70,
  2632. 0x3c,
  2633. #endif
  2634. "mult",OPC_mult,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2635.     {CLASS_BIT+9,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,237},
  2636.  
  2637.  
  2638. /* 0001 1000 ssN0 dddd *** multl rqd,@rs */
  2639. {
  2640. #ifdef NICENAMES
  2641. "multl rqd,@rs",32,282,
  2642. 0x3c,
  2643. #endif
  2644. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2645.     {CLASS_BIT+1,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,238},
  2646.  
  2647.  
  2648. /* 0101 1000 0000 dddd address_src *** multl rqd,address_src */
  2649. {
  2650. #ifdef NICENAMES
  2651. "multl rqd,address_src",32,282,
  2652. 0x3c,
  2653. #endif
  2654. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2655.     {CLASS_BIT+5,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,239},
  2656.  
  2657.  
  2658. /* 0101 1000 ssN0 dddd address_src *** multl rqd,address_src(rs) */
  2659. {
  2660. #ifdef NICENAMES
  2661. "multl rqd,address_src(rs)",32,282,
  2662. 0x3c,
  2663. #endif
  2664. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_X+(ARG_RS),},
  2665.     {CLASS_BIT+5,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,240},
  2666.  
  2667.  
  2668. /* 0001 1000 0000 dddd imm32 *** multl rqd,imm32 */
  2669. {
  2670. #ifdef NICENAMES
  2671. "multl rqd,imm32",32,282,
  2672. 0x3c,
  2673. #endif
  2674. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  2675.     {CLASS_BIT+1,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,241},
  2676.  
  2677.  
  2678. /* 1001 1000 ssss dddd *** multl rqd,rrs */
  2679. {
  2680. #ifdef NICENAMES
  2681. "multl rqd,rrs",32,282,
  2682. 0x3c,
  2683. #endif
  2684. "multl",OPC_multl,0,{CLASS_REG_QUAD+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  2685.     {CLASS_BIT+9,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,242},
  2686.  
  2687.  
  2688. /* 0000 1101 ddN0 0010 *** neg @rd */
  2689. {
  2690. #ifdef NICENAMES
  2691. "neg @rd",16,12,
  2692. 0x3c,
  2693. #endif
  2694. "neg",OPC_neg,0,{CLASS_IR+(ARG_RD),},
  2695.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,243},
  2696.  
  2697.  
  2698. /* 0100 1101 0000 0010 address_dst *** neg address_dst */
  2699. {
  2700. #ifdef NICENAMES
  2701. "neg address_dst",16,15,
  2702. 0x3c,
  2703. #endif
  2704. "neg",OPC_neg,0,{CLASS_DA+(ARG_DST),},
  2705.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,244},
  2706.  
  2707.  
  2708. /* 0100 1101 ddN0 0010 address_dst *** neg address_dst(rd) */
  2709. {
  2710. #ifdef NICENAMES
  2711. "neg address_dst(rd)",16,16,
  2712. 0x3c,
  2713. #endif
  2714. "neg",OPC_neg,0,{CLASS_X+(ARG_RD),},
  2715.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,245},
  2716.  
  2717.  
  2718. /* 1000 1101 dddd 0010 *** neg rd */
  2719. {
  2720. #ifdef NICENAMES
  2721. "neg rd",16,7,
  2722. 0x3c,
  2723. #endif
  2724. "neg",OPC_neg,0,{CLASS_REG_WORD+(ARG_RD),},
  2725.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,246},
  2726.  
  2727.  
  2728. /* 0000 1100 ddN0 0010 *** negb @rd */
  2729. {
  2730. #ifdef NICENAMES
  2731. "negb @rd",8,12,
  2732. 0x3c,
  2733. #endif
  2734. "negb",OPC_negb,0,{CLASS_IR+(ARG_RD),},
  2735.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,247},
  2736.  
  2737.  
  2738. /* 0100 1100 0000 0010 address_dst *** negb address_dst */
  2739. {
  2740. #ifdef NICENAMES
  2741. "negb address_dst",8,15,
  2742. 0x3c,
  2743. #endif
  2744. "negb",OPC_negb,0,{CLASS_DA+(ARG_DST),},
  2745.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,248},
  2746.  
  2747.  
  2748. /* 0100 1100 ddN0 0010 address_dst *** negb address_dst(rd) */
  2749. {
  2750. #ifdef NICENAMES
  2751. "negb address_dst(rd)",8,16,
  2752. 0x3c,
  2753. #endif
  2754. "negb",OPC_negb,0,{CLASS_X+(ARG_RD),},
  2755.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+2,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,249},
  2756.  
  2757.  
  2758. /* 1000 1100 dddd 0010 *** negb rbd */
  2759. {
  2760. #ifdef NICENAMES
  2761. "negb rbd",8,7,
  2762. 0x3c,
  2763. #endif
  2764. "negb",OPC_negb,0,{CLASS_REG_BYTE+(ARG_RD),},
  2765.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+2,0,0,0,0,0,},1,2,250},
  2766.  
  2767.  
  2768. /* 1000 1101 0000 0111 *** nop */
  2769. {
  2770. #ifdef NICENAMES
  2771. "nop",16,7,
  2772. 0x00,
  2773. #endif
  2774. "nop",OPC_nop,0,{0},
  2775.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+7,0,0,0,0,0,},0,2,251},
  2776.  
  2777.  
  2778. /* 0000 0101 ssN0 dddd *** or rd,@rs */
  2779. {
  2780. #ifdef NICENAMES
  2781. "or rd,@rs",16,7,
  2782. 0x38,
  2783. #endif
  2784. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2785.     {CLASS_BIT+0,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,252},
  2786.  
  2787.  
  2788. /* 0100 0101 0000 dddd address_src *** or rd,address_src */
  2789. {
  2790. #ifdef NICENAMES
  2791. "or rd,address_src",16,9,
  2792. 0x38,
  2793. #endif
  2794. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2795.     {CLASS_BIT+4,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,253},
  2796.  
  2797.  
  2798. /* 0100 0101 ssN0 dddd address_src *** or rd,address_src(rs) */
  2799. {
  2800. #ifdef NICENAMES
  2801. "or rd,address_src(rs)",16,10,
  2802. 0x38,
  2803. #endif
  2804. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  2805.     {CLASS_BIT+4,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,254},
  2806.  
  2807.  
  2808. /* 0000 0101 0000 dddd imm16 *** or rd,imm16 */
  2809. {
  2810. #ifdef NICENAMES
  2811. "or rd,imm16",16,7,
  2812. 0x38,
  2813. #endif
  2814. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  2815.     {CLASS_BIT+0,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,255},
  2816.  
  2817.  
  2818. /* 1000 0101 ssss dddd *** or rd,rs */
  2819. {
  2820. #ifdef NICENAMES
  2821. "or rd,rs",16,4,
  2822. 0x38,
  2823. #endif
  2824. "or",OPC_or,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2825.     {CLASS_BIT+8,CLASS_BIT+5,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,256},
  2826.  
  2827.  
  2828. /* 0000 0100 ssN0 dddd *** orb rbd,@rs */
  2829. {
  2830. #ifdef NICENAMES
  2831. "orb rbd,@rs",8,7,
  2832. 0x3c,
  2833. #endif
  2834. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  2835.     {CLASS_BIT+0,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,257},
  2836.  
  2837.  
  2838. /* 0100 0100 0000 dddd address_src *** orb rbd,address_src */
  2839. {
  2840. #ifdef NICENAMES
  2841. "orb rbd,address_src",8,9,
  2842. 0x3c,
  2843. #endif
  2844. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  2845.     {CLASS_BIT+4,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,258},
  2846.  
  2847.  
  2848. /* 0100 0100 ssN0 dddd address_src *** orb rbd,address_src(rs) */
  2849. {
  2850. #ifdef NICENAMES
  2851. "orb rbd,address_src(rs)",8,10,
  2852. 0x3c,
  2853. #endif
  2854. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  2855.     {CLASS_BIT+4,CLASS_BIT+4,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,259},
  2856.  
  2857.  
  2858. /* 0000 0100 0000 dddd imm8 imm8 *** orb rbd,imm8 */
  2859. {
  2860. #ifdef NICENAMES
  2861. "orb rbd,imm8",8,7,
  2862. 0x3c,
  2863. #endif
  2864. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  2865.     {CLASS_BIT+0,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,260},
  2866.  
  2867.  
  2868. /* 1000 0100 ssss dddd *** orb rbd,rbs */
  2869. {
  2870. #ifdef NICENAMES
  2871. "orb rbd,rbs",8,4,
  2872. 0x3c,
  2873. #endif
  2874. "orb",OPC_orb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2875.     {CLASS_BIT+8,CLASS_BIT+4,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,261},
  2876.  
  2877.  
  2878. /* 0011 1111 ddN0 ssss *** out @rd,rs */
  2879. {
  2880. #ifdef NICENAMES
  2881. "out @rd,rs",16,0,
  2882. 0x04,
  2883. #endif
  2884. "out",OPC_out,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  2885.     {CLASS_BIT+3,CLASS_BIT+0xf,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,262},
  2886.  
  2887.  
  2888. /* 0011 1011 ssss 0110 imm16 *** out imm16,rs */
  2889. {
  2890. #ifdef NICENAMES
  2891. "out imm16,rs",16,0,
  2892. 0x04,
  2893. #endif
  2894. "out",OPC_out,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
  2895.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,263},
  2896.  
  2897.  
  2898. /* 0011 1110 ddN0 ssss *** outb @rd,rbs */
  2899. {
  2900. #ifdef NICENAMES
  2901. "outb @rd,rbs",8,0,
  2902. 0x04,
  2903. #endif
  2904. "outb",OPC_outb,0,{CLASS_IR+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  2905.     {CLASS_BIT+3,CLASS_BIT+0xe,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,264},
  2906.  
  2907.  
  2908. /* 0011 1010 ssss 0110 imm16 *** outb imm16,rbs */
  2909. {
  2910. #ifdef NICENAMES
  2911. "outb imm16,rbs",8,0,
  2912. 0x04,
  2913. #endif
  2914. "outb",OPC_outb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
  2915.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+6,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,265},
  2916.  
  2917.  
  2918. /* 0011 1011 ssN0 1010 0000 aaaa ddN0 1000 *** outd @rd,@rs,ra */
  2919. {
  2920. #ifdef NICENAMES
  2921. "outd @rd,@rs,ra",16,0,
  2922. 0x04,
  2923. #endif
  2924. "outd",OPC_outd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2925.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,266},
  2926.  
  2927.  
  2928. /* 0011 1010 ssN0 1010 0000 aaaa ddN0 1000 *** outdb @rd,@rs,rba */
  2929. {
  2930. #ifdef NICENAMES
  2931. "outdb @rd,@rs,rba",8,0,
  2932. 0x04,
  2933. #endif
  2934. "outdb",OPC_outdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  2935.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,267},
  2936.  
  2937.  
  2938. /* 0011 1100 ssN0 0010 0000 aaaa ddN0 1000 *** outib @rd,@rs,ra */
  2939. {
  2940. #ifdef NICENAMES
  2941. "outib @rd,@rs,ra",8,0,
  2942. 0x04,
  2943. #endif
  2944. "outib",OPC_outib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2945.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,268},
  2946.  
  2947.  
  2948. /* 0011 1100 ssN0 0010 0000 aaaa ddN0 0000 *** outibr @rd,@rs,ra */
  2949. {
  2950. #ifdef NICENAMES
  2951. "outibr @rd,@rs,ra",16,0,
  2952. 0x04,
  2953. #endif
  2954. "outibr",OPC_outibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  2955.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,269},
  2956.  
  2957.  
  2958. /* 0001 0111 ssN0 ddN0 *** pop @rd,@rs */
  2959. {
  2960. #ifdef NICENAMES
  2961. "pop @rd,@rs",16,12,
  2962. 0x00,
  2963. #endif
  2964. "pop",OPC_pop,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  2965.     {CLASS_BIT+1,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,270},
  2966.  
  2967.  
  2968. /* 0101 0111 ssN0 ddN0 address_dst *** pop address_dst(rd),@rs */
  2969. {
  2970. #ifdef NICENAMES
  2971. "pop address_dst(rd),@rs",16,16,
  2972. 0x00,
  2973. #endif
  2974. "pop",OPC_pop,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
  2975.     {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,271},
  2976.  
  2977.  
  2978. /* 0101 0111 ssN0 0000 address_dst *** pop address_dst,@rs */
  2979. {
  2980. #ifdef NICENAMES
  2981. "pop address_dst,@rs",16,16,
  2982. 0x00,
  2983. #endif
  2984. "pop",OPC_pop,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
  2985.     {CLASS_BIT+5,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,272},
  2986.  
  2987.  
  2988. /* 1001 0111 ssN0 dddd *** pop rd,@rs */
  2989. {
  2990. #ifdef NICENAMES
  2991. "pop rd,@rs",16,8,
  2992. 0x00,
  2993. #endif
  2994. "pop",OPC_pop,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  2995.     {CLASS_BIT+9,CLASS_BIT+7,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,273},
  2996.  
  2997.  
  2998. /* 0001 0101 ssN0 ddN0 *** popl @rd,@rs */
  2999. {
  3000. #ifdef NICENAMES
  3001. "popl @rd,@rs",32,19,
  3002. 0x00,
  3003. #endif
  3004. "popl",OPC_popl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3005.     {CLASS_BIT+1,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),0,0,0,0,0,},2,2,274},
  3006.  
  3007.  
  3008. /* 0101 0101 ssN0 ddN0 address_dst *** popl address_dst(rd),@rs */
  3009. {
  3010. #ifdef NICENAMES
  3011. "popl address_dst(rd),@rs",32,23,
  3012. 0x00,
  3013. #endif
  3014. "popl",OPC_popl,0,{CLASS_X+(ARG_RD),CLASS_IR+(ARG_RS),},
  3015.     {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REGN0+(ARG_RD),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,275},
  3016.  
  3017.  
  3018. /* 0101 0101 ssN0 0000 address_dst *** popl address_dst,@rs */
  3019. {
  3020. #ifdef NICENAMES
  3021. "popl address_dst,@rs",32,23,
  3022. 0x00,
  3023. #endif
  3024. "popl",OPC_popl,0,{CLASS_DA+(ARG_DST),CLASS_IR+(ARG_RS),},
  3025.     {CLASS_BIT+5,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_BIT+0,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,276},
  3026.  
  3027.  
  3028. /* 1001 0101 ssN0 dddd *** popl rrd,@rs */
  3029. {
  3030. #ifdef NICENAMES
  3031. "popl rrd,@rs",32,12,
  3032. 0x00,
  3033. #endif
  3034. "popl",OPC_popl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  3035.     {CLASS_BIT+9,CLASS_BIT+5,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,277},
  3036.  
  3037.  
  3038. /* 0001 0011 ddN0 ssN0 *** push @rd,@rs */
  3039. {
  3040. #ifdef NICENAMES
  3041. "push @rd,@rs",16,13,
  3042. 0x00,
  3043. #endif
  3044. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3045.     {CLASS_BIT+1,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,278},
  3046.  
  3047.  
  3048. /* 0101 0011 ddN0 0000 address_src *** push @rd,address_src */
  3049. {
  3050. #ifdef NICENAMES
  3051. "push @rd,address_src",16,14,
  3052. 0x00,
  3053. #endif
  3054. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3055.     {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,279},
  3056.  
  3057.  
  3058. /* 0101 0011 ddN0 ssN0 address_src *** push @rd,address_src(rs) */
  3059. {
  3060. #ifdef NICENAMES
  3061. "push @rd,address_src(rs)",16,14,
  3062. 0x00,
  3063. #endif
  3064. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
  3065.     {CLASS_BIT+5,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,280},
  3066.  
  3067.  
  3068. /* 0000 1101 ddN0 1001 imm16 *** push @rd,imm16 */
  3069. {
  3070. #ifdef NICENAMES
  3071. "push @rd,imm16",16,12,
  3072. 0x00,
  3073. #endif
  3074. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3075.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+9,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,281},
  3076.  
  3077.  
  3078. /* 1001 0011 ddN0 ssss *** push @rd,rs */
  3079. {
  3080. #ifdef NICENAMES
  3081. "push @rd,rs",16,9,
  3082. 0x00,
  3083. #endif
  3084. "push",OPC_push,0,{CLASS_IR+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3085.     {CLASS_BIT+9,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,282},
  3086.  
  3087.  
  3088. /* 0001 0001 ddN0 ssN0 *** pushl @rd,@rs */
  3089. {
  3090. #ifdef NICENAMES
  3091. "pushl @rd,@rs",32,20,
  3092. 0x00,
  3093. #endif
  3094. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),},
  3095.     {CLASS_BIT+1,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),0,0,0,0,0,},2,2,283},
  3096.  
  3097.  
  3098. /* 0101 0001 ddN0 0000 address_src *** pushl @rd,address_src */
  3099. {
  3100. #ifdef NICENAMES
  3101. "pushl @rd,address_src",32,21,
  3102. 0x00,
  3103. #endif
  3104. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3105.     {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,284},
  3106.  
  3107.  
  3108. /* 0101 0001 ddN0 ssN0 address_src *** pushl @rd,address_src(rs) */
  3109. {
  3110. #ifdef NICENAMES
  3111. "pushl @rd,address_src(rs)",32,21,
  3112. 0x00,
  3113. #endif
  3114. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_X+(ARG_RS),},
  3115.     {CLASS_BIT+5,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REGN0+(ARG_RS),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,285},
  3116.  
  3117.  
  3118. /* 1001 0001 ddN0 ssss *** pushl @rd,rrs */
  3119. {
  3120. #ifdef NICENAMES
  3121. "pushl @rd,rrs",32,12,
  3122. 0x00,
  3123. #endif
  3124. "pushl",OPC_pushl,0,{CLASS_IR+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  3125.     {CLASS_BIT+9,CLASS_BIT+1,CLASS_REGN0+(ARG_RD),CLASS_REG+(ARG_RS),0,0,0,0,0,},2,2,286},
  3126.  
  3127.  
  3128. /* 0010 0011 ddN0 imm4 *** res @rd,imm4 */
  3129. {
  3130. #ifdef NICENAMES
  3131. "res @rd,imm4",16,11,
  3132. 0x00,
  3133. #endif
  3134. "res",OPC_res,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3135.     {CLASS_BIT+2,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,287},
  3136.  
  3137.  
  3138. /* 0110 0011 ddN0 imm4 address_dst *** res address_dst(rd),imm4 */
  3139. {
  3140. #ifdef NICENAMES
  3141. "res address_dst(rd),imm4",16,14,
  3142. 0x00,
  3143. #endif
  3144. "res",OPC_res,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3145.     {CLASS_BIT+6,CLASS_BIT+3,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,288},
  3146.  
  3147.  
  3148. /* 0110 0011 0000 imm4 address_dst *** res address_dst,imm4 */
  3149. {
  3150. #ifdef NICENAMES
  3151. "res address_dst,imm4",16,13,
  3152. 0x00,
  3153. #endif
  3154. "res",OPC_res,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3155.     {CLASS_BIT+6,CLASS_BIT+3,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,289},
  3156.  
  3157.  
  3158. /* 1010 0011 dddd imm4 *** res rd,imm4 */
  3159. {
  3160. #ifdef NICENAMES
  3161. "res rd,imm4",16,4,
  3162. 0x00,
  3163. #endif
  3164. "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3165.     {CLASS_BIT+0xa,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,290},
  3166.  
  3167.  
  3168. /* 0010 0011 0000 ssss 0000 dddd 0000 0000 *** res rd,rs */
  3169. {
  3170. #ifdef NICENAMES
  3171. "res rd,rs",16,10,
  3172. 0x00,
  3173. #endif
  3174. "res",OPC_res,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3175.     {CLASS_BIT+2,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,291},
  3176.  
  3177.  
  3178. /* 0010 0010 ddN0 imm4 *** resb @rd,imm4 */
  3179. {
  3180. #ifdef NICENAMES
  3181. "resb @rd,imm4",8,11,
  3182. 0x00,
  3183. #endif
  3184. "resb",OPC_resb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3185.     {CLASS_BIT+2,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,292},
  3186.  
  3187.  
  3188. /* 0110 0010 ddN0 imm4 address_dst *** resb address_dst(rd),imm4 */
  3189. {
  3190. #ifdef NICENAMES
  3191. "resb address_dst(rd),imm4",8,14,
  3192. 0x00,
  3193. #endif
  3194. "resb",OPC_resb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3195.     {CLASS_BIT+6,CLASS_BIT+2,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,293},
  3196.  
  3197.  
  3198. /* 0110 0010 0000 imm4 address_dst *** resb address_dst,imm4 */
  3199. {
  3200. #ifdef NICENAMES
  3201. "resb address_dst,imm4",8,13,
  3202. 0x00,
  3203. #endif
  3204. "resb",OPC_resb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3205.     {CLASS_BIT+6,CLASS_BIT+2,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,294},
  3206.  
  3207.  
  3208. /* 1010 0010 dddd imm4 *** resb rbd,imm4 */
  3209. {
  3210. #ifdef NICENAMES
  3211. "resb rbd,imm4",8,4,
  3212. 0x00,
  3213. #endif
  3214. "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3215.     {CLASS_BIT+0xa,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,295},
  3216.  
  3217.  
  3218. /* 0010 0010 0000 ssss 0000 dddd 0000 0000 *** resb rbd,rs */
  3219. {
  3220. #ifdef NICENAMES
  3221. "resb rbd,rs",8,10,
  3222. 0x00,
  3223. #endif
  3224. "resb",OPC_resb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3225.     {CLASS_BIT+2,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,296},
  3226.  
  3227.  
  3228. /* 1000 1101 imm4 0011 *** resflg imm4 */
  3229. {
  3230. #ifdef NICENAMES
  3231. "resflg imm4",16,7,
  3232. 0x3c,
  3233. #endif
  3234. "resflg",OPC_resflg,0,{CLASS_IMM +(ARG_IMM4),},
  3235.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+3,0,0,0,0,0,},1,2,297},
  3236.  
  3237.  
  3238. /* 1001 1110 0000 cccc *** ret cc */
  3239. {
  3240. #ifdef NICENAMES
  3241. "ret cc",16,10,
  3242. 0x00,
  3243. #endif
  3244. "ret",OPC_ret,0,{CLASS_CC,},
  3245.     {CLASS_BIT+9,CLASS_BIT+0xe,CLASS_BIT+0,CLASS_CC,0,0,0,0,0,},1,2,298},
  3246.  
  3247.  
  3248. /* 1011 0011 dddd 00I0 *** rl rd,imm1or2 */
  3249. {
  3250. #ifdef NICENAMES
  3251. "rl rd,imm1or2",16,6,
  3252. 0x3c,
  3253. #endif
  3254. "rl",OPC_rl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3255.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,299},
  3256.  
  3257.  
  3258. /* 1011 0010 dddd 00I0 *** rlb rbd,imm1or2 */
  3259. {
  3260. #ifdef NICENAMES
  3261. "rlb rbd,imm1or2",8,6,
  3262. 0x3c,
  3263. #endif
  3264. "rlb",OPC_rlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3265.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0,0,0,0,0,0,},2,2,300},
  3266.  
  3267.  
  3268. /* 1011 0011 dddd 10I0 *** rlc rd,imm1or2 */
  3269. {
  3270. #ifdef NICENAMES
  3271. "rlc rd,imm1or2",16,6,
  3272. 0x3c,
  3273. #endif
  3274. "rlc",OPC_rlc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3275.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,301},
  3276.  
  3277.  
  3278. /* 1011 0010 dddd 10I0 *** rlcb rbd,imm1or2 */
  3279. {
  3280. #ifdef NICENAMES
  3281. "rlcb rbd,imm1or2",8,9,
  3282. 0x10,
  3283. #endif
  3284. "rlcb",OPC_rlcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3285.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+8,0,0,0,0,0,},2,2,302},
  3286.  
  3287.  
  3288. /* 1011 1110 aaaa bbbb *** rldb rbb,rba */
  3289. {
  3290. #ifdef NICENAMES
  3291. "rldb rbb,rba",8,9,
  3292. 0x10,
  3293. #endif
  3294. "rldb",OPC_rldb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
  3295.     {CLASS_BIT+0xb,CLASS_BIT+0xe,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,303},
  3296.  
  3297.  
  3298. /* 1011 0011 dddd 01I0 *** rr rd,imm1or2 */
  3299. {
  3300. #ifdef NICENAMES
  3301. "rr rd,imm1or2",16,6,
  3302. 0x3c,
  3303. #endif
  3304. "rr",OPC_rr,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3305.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,304},
  3306.  
  3307.  
  3308. /* 1011 0010 dddd 01I0 *** rrb rbd,imm1or2 */
  3309. {
  3310. #ifdef NICENAMES
  3311. "rrb rbd,imm1or2",8,6,
  3312. 0x3c,
  3313. #endif
  3314. "rrb",OPC_rrb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3315.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+4,0,0,0,0,0,},2,2,305},
  3316.  
  3317.  
  3318. /* 1011 0011 dddd 11I0 *** rrc rd,imm1or2 */
  3319. {
  3320. #ifdef NICENAMES
  3321. "rrc rd,imm1or2",16,6,
  3322. 0x3c,
  3323. #endif
  3324. "rrc",OPC_rrc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3325.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,306},
  3326.  
  3327.  
  3328. /* 1011 0010 dddd 11I0 *** rrcb rbd,imm1or2 */
  3329. {
  3330. #ifdef NICENAMES
  3331. "rrcb rbd,imm1or2",8,9,
  3332. 0x10,
  3333. #endif
  3334. "rrcb",OPC_rrcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM1OR2),},
  3335.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT_1OR2+0xc,0,0,0,0,0,},2,2,307},
  3336.  
  3337.  
  3338. /* 1011 1100 aaaa bbbb *** rrdb rbb,rba */
  3339. {
  3340. #ifdef NICENAMES
  3341. "rrdb rbb,rba",8,9,
  3342. 0x10,
  3343. #endif
  3344. "rrdb",OPC_rrdb,0,{CLASS_REG_BYTE+(ARG_RB),CLASS_REG_BYTE+(ARG_RA),},
  3345.     {CLASS_BIT+0xb,CLASS_BIT+0xc,CLASS_REG+(ARG_RA),CLASS_REG+(ARG_RB),0,0,0,0,0,},2,2,308},
  3346.  
  3347.  
  3348. /* 0011 0110 imm8 *** rsvd36 */
  3349. {
  3350. #ifdef NICENAMES
  3351. "rsvd36",8,10,
  3352. 0x00,
  3353. #endif
  3354. "rsvd36",OPC_rsvd36,0,{0},
  3355.     {CLASS_BIT+3,CLASS_BIT+6,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,309},
  3356.  
  3357.  
  3358. /* 0011 1000 imm8 *** rsvd38 */
  3359. {
  3360. #ifdef NICENAMES
  3361. "rsvd38",8,10,
  3362. 0x00,
  3363. #endif
  3364. "rsvd38",OPC_rsvd38,0,{0},
  3365.     {CLASS_BIT+3,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,310},
  3366.  
  3367.  
  3368. /* 0111 1000 imm8 *** rsvd78 */
  3369. {
  3370. #ifdef NICENAMES
  3371. "rsvd78",8,10,
  3372. 0x00,
  3373. #endif
  3374. "rsvd78",OPC_rsvd78,0,{0},
  3375.     {CLASS_BIT+7,CLASS_BIT+8,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,311},
  3376.  
  3377.  
  3378. /* 0111 1110 imm8 *** rsvd7e */
  3379. {
  3380. #ifdef NICENAMES
  3381. "rsvd7e",8,10,
  3382. 0x00,
  3383. #endif
  3384. "rsvd7e",OPC_rsvd7e,0,{0},
  3385.     {CLASS_BIT+7,CLASS_BIT+0xe,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,312},
  3386.  
  3387.  
  3388. /* 1001 1101 imm8 *** rsvd9d */
  3389. {
  3390. #ifdef NICENAMES
  3391. "rsvd9d",8,10,
  3392. 0x00,
  3393. #endif
  3394. "rsvd9d",OPC_rsvd9d,0,{0},
  3395.     {CLASS_BIT+9,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,313},
  3396.  
  3397.  
  3398. /* 1001 1111 imm8 *** rsvd9f */
  3399. {
  3400. #ifdef NICENAMES
  3401. "rsvd9f",8,10,
  3402. 0x00,
  3403. #endif
  3404. "rsvd9f",OPC_rsvd9f,0,{0},
  3405.     {CLASS_BIT+9,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,314},
  3406.  
  3407.  
  3408. /* 1011 1001 imm8 *** rsvdb9 */
  3409. {
  3410. #ifdef NICENAMES
  3411. "rsvdb9",8,10,
  3412. 0x00,
  3413. #endif
  3414. "rsvdb9",OPC_rsvdb9,0,{0},
  3415.     {CLASS_BIT+0xb,CLASS_BIT+9,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,315},
  3416.  
  3417.  
  3418. /* 1011 1111 imm8 *** rsvdbf */
  3419. {
  3420. #ifdef NICENAMES
  3421. "rsvdbf",8,10,
  3422. 0x00,
  3423. #endif
  3424. "rsvdbf",OPC_rsvdbf,0,{0},
  3425.     {CLASS_BIT+0xb,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},0,2,316},
  3426.  
  3427.  
  3428. /* 1011 0111 ssss dddd *** sbc rd,rs */
  3429. {
  3430. #ifdef NICENAMES
  3431. "sbc rd,rs",16,5,
  3432. 0x3c,
  3433. #endif
  3434. "sbc",OPC_sbc,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3435.     {CLASS_BIT+0xb,CLASS_BIT+7,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,317},
  3436.  
  3437.  
  3438. /* 1011 0110 ssss dddd *** sbcb rbd,rbs */
  3439. {
  3440. #ifdef NICENAMES
  3441. "sbcb rbd,rbs",8,5,
  3442. 0x3f,
  3443. #endif
  3444. "sbcb",OPC_sbcb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  3445.     {CLASS_BIT+0xb,CLASS_BIT+6,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,318},
  3446.  
  3447.  
  3448. /* 0111 1111 imm8 *** sc imm8 */
  3449. {
  3450. #ifdef NICENAMES
  3451. "sc imm8",8,33,
  3452. 0x3f,
  3453. #endif
  3454. "sc",OPC_sc,0,{CLASS_IMM+(ARG_IMM8),},
  3455.     {CLASS_BIT+7,CLASS_BIT+0xf,CLASS_IMM+(ARG_IMM8),0,0,0,0,0,0,},1,2,319},
  3456.  
  3457.  
  3458. /* 1011 0011 dddd 1011 0000 ssss 0000 0000 *** sda rd,rs */
  3459. {
  3460. #ifdef NICENAMES
  3461. "sda rd,rs",16,15,
  3462. 0x3c,
  3463. #endif
  3464. "sda",OPC_sda,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3465.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,320},
  3466.  
  3467.  
  3468. /* 1011 0010 dddd 1011 0000 ssss 0000 0000 *** sdab rbd,rs */
  3469. {
  3470. #ifdef NICENAMES
  3471. "sdab rbd,rs",8,15,
  3472. 0x3c,
  3473. #endif
  3474. "sdab",OPC_sdab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3475.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,321},
  3476.  
  3477.  
  3478. /* 1011 0011 dddd 1111 0000 ssss 0000 0000 *** sdal rrd,rs */
  3479. {
  3480. #ifdef NICENAMES
  3481. "sdal rrd,rs",32,15,
  3482. 0x3c,
  3483. #endif
  3484. "sdal",OPC_sdal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3485.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xf,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,322},
  3486.  
  3487.  
  3488. /* 1011 0011 dddd 0011 0000 ssss 0000 0000 *** sdl rd,rs */
  3489. {
  3490. #ifdef NICENAMES
  3491. "sdl rd,rs",16,15,
  3492. 0x38,
  3493. #endif
  3494. "sdl",OPC_sdl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3495.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,323},
  3496.  
  3497.  
  3498. /* 1011 0010 dddd 0011 0000 ssss 0000 0000 *** sdlb rbd,rs */
  3499. {
  3500. #ifdef NICENAMES
  3501. "sdlb rbd,rs",8,15,
  3502. 0x38,
  3503. #endif
  3504. "sdlb",OPC_sdlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3505.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,324},
  3506.  
  3507.  
  3508. /* 1011 0011 dddd 0111 0000 ssss 0000 0000 *** sdll rrd,rs */
  3509. {
  3510. #ifdef NICENAMES
  3511. "sdll rrd,rs",32,15,
  3512. 0x38,
  3513. #endif
  3514. "sdll",OPC_sdll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3515.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+7,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,325},
  3516.  
  3517.  
  3518. /* 0010 0101 ddN0 imm4 *** set @rd,imm4 */
  3519. {
  3520. #ifdef NICENAMES
  3521. "set @rd,imm4",16,11,
  3522. 0x00,
  3523. #endif
  3524. "set",OPC_set,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3525.     {CLASS_BIT+2,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,326},
  3526.  
  3527.  
  3528. /* 0110 0101 ddN0 imm4 address_dst *** set address_dst(rd),imm4 */
  3529. {
  3530. #ifdef NICENAMES
  3531. "set address_dst(rd),imm4",16,14,
  3532. 0x00,
  3533. #endif
  3534. "set",OPC_set,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3535.     {CLASS_BIT+6,CLASS_BIT+5,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,327},
  3536.  
  3537.  
  3538. /* 0110 0101 0000 imm4 address_dst *** set address_dst,imm4 */
  3539. {
  3540. #ifdef NICENAMES
  3541. "set address_dst,imm4",16,13,
  3542. 0x00,
  3543. #endif
  3544. "set",OPC_set,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3545.     {CLASS_BIT+6,CLASS_BIT+5,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,328},
  3546.  
  3547.  
  3548. /* 1010 0101 dddd imm4 *** set rd,imm4 */
  3549. {
  3550. #ifdef NICENAMES
  3551. "set rd,imm4",16,4,
  3552. 0x00,
  3553. #endif
  3554. "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3555.     {CLASS_BIT+0xa,CLASS_BIT+5,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,329},
  3556.  
  3557.  
  3558. /* 0010 0101 0000 ssss 0000 dddd 0000 0000 *** set rd,rs */
  3559. {
  3560. #ifdef NICENAMES
  3561. "set rd,rs",16,10,
  3562. 0x00,
  3563. #endif
  3564. "set",OPC_set,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3565.     {CLASS_BIT+2,CLASS_BIT+5,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,330},
  3566.  
  3567.  
  3568. /* 0010 0100 ddN0 imm4 *** setb @rd,imm4 */
  3569. {
  3570. #ifdef NICENAMES
  3571. "setb @rd,imm4",8,11,
  3572. 0x00,
  3573. #endif
  3574. "setb",OPC_setb,0,{CLASS_IR+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3575.     {CLASS_BIT+2,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,331},
  3576.  
  3577.  
  3578. /* 0110 0100 ddN0 imm4 address_dst *** setb address_dst(rd),imm4 */
  3579. {
  3580. #ifdef NICENAMES
  3581. "setb address_dst(rd),imm4",8,14,
  3582. 0x00,
  3583. #endif
  3584. "setb",OPC_setb,0,{CLASS_X+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3585.     {CLASS_BIT+6,CLASS_BIT+4,CLASS_REGN0+(ARG_RD),CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,332},
  3586.  
  3587.  
  3588. /* 0110 0100 0000 imm4 address_dst *** setb address_dst,imm4 */
  3589. {
  3590. #ifdef NICENAMES
  3591. "setb address_dst,imm4",8,13,
  3592. 0x00,
  3593. #endif
  3594. "setb",OPC_setb,0,{CLASS_DA+(ARG_DST),CLASS_IMM +(ARG_IMM4),},
  3595.     {CLASS_BIT+6,CLASS_BIT+4,CLASS_BIT+0,CLASS_IMM+(ARG_IMM4),CLASS_ADDRESS+(ARG_DST),0,0,0,0,},2,4,333},
  3596.  
  3597.  
  3598. /* 1010 0100 dddd imm4 *** setb rbd,imm4 */
  3599. {
  3600. #ifdef NICENAMES
  3601. "setb rbd,imm4",8,4,
  3602. 0x00,
  3603. #endif
  3604. "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM +(ARG_IMM4),},
  3605.     {CLASS_BIT+0xa,CLASS_BIT+4,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM4),0,0,0,0,0,},2,2,334},
  3606.  
  3607.  
  3608. /* 0010 0100 0000 ssss 0000 dddd 0000 0000 *** setb rbd,rs */
  3609. {
  3610. #ifdef NICENAMES
  3611. "setb rbd,rs",8,10,
  3612. 0x00,
  3613. #endif
  3614. "setb",OPC_setb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3615.     {CLASS_BIT+2,CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RS),CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,0,},2,4,335},
  3616.  
  3617.  
  3618. /* 1000 1101 imm4 0001 *** setflg imm4 */
  3619. {
  3620. #ifdef NICENAMES
  3621. "setflg imm4",16,7,
  3622. 0x3c,
  3623. #endif
  3624. "setflg",OPC_setflg,0,{CLASS_IMM +(ARG_IMM4),},
  3625.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_IMM+(ARG_IMM4),CLASS_BIT+1,0,0,0,0,0,},1,2,336},
  3626.  
  3627.  
  3628. /* 0011 1100 dddd 0101 imm16 *** sinb rbd,imm16 */
  3629. {
  3630. #ifdef NICENAMES
  3631. "sinb rbd,imm16",8,0,
  3632. 0x00,
  3633. #endif
  3634. "sinb",OPC_sinb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3635.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,337},
  3636.  
  3637.  
  3638. /* 0011 1101 dddd 0101 imm16 *** sinb rd,imm16 */
  3639. {
  3640. #ifdef NICENAMES
  3641. "sinb rd,imm16",8,0,
  3642. 0x00,
  3643. #endif
  3644. "sinb",OPC_sinb,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3645.     {CLASS_BIT+3,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,338},
  3646.  
  3647.  
  3648. /* 0011 1011 ssN0 1000 0001 aaaa ddN0 1000 *** sind @rd,@rs,ra */
  3649. {
  3650. #ifdef NICENAMES
  3651. "sind @rd,@rs,ra",16,0,
  3652. 0x00,
  3653. #endif
  3654. "sind",OPC_sind,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3655.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,339},
  3656.  
  3657.  
  3658. /* 0011 1010 ssN0 1000 0001 aaaa ddN0 1000 *** sindb @rd,@rs,rba */
  3659. {
  3660. #ifdef NICENAMES
  3661. "sindb @rd,@rs,rba",8,0,
  3662. 0x00,
  3663. #endif
  3664. "sindb",OPC_sindb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  3665.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+8,CLASS_BIT+1,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,340},
  3666.  
  3667.  
  3668. /* 0011 1100 ssN0 0001 0000 aaaa ddN0 1000 *** sinib @rd,@rs,ra */
  3669. {
  3670. #ifdef NICENAMES
  3671. "sinib @rd,@rs,ra",8,0,
  3672. 0x00,
  3673. #endif
  3674. "sinib",OPC_sinib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3675.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,341},
  3676.  
  3677.  
  3678. /* 0011 1100 ssN0 0001 0000 aaaa ddN0 0000 *** sinibr @rd,@rs,ra */
  3679. {
  3680. #ifdef NICENAMES
  3681. "sinibr @rd,@rs,ra",16,0,
  3682. 0x00,
  3683. #endif
  3684. "sinibr",OPC_sinibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3685.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+1,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,342},
  3686.  
  3687.  
  3688. /* 1011 0011 dddd 1001 0000 0000 imm8 *** sla rd,imm8 */
  3689. {
  3690. #ifdef NICENAMES
  3691. "sla rd,imm8",16,13,
  3692. 0x3c,
  3693. #endif
  3694. "sla",OPC_sla,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3695.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,343},
  3696.  
  3697.  
  3698. /* 1011 0010 dddd 1001  0000 0000 imm8 *** slab rbd,imm8 */
  3699. {
  3700. #ifdef NICENAMES
  3701. "slab rbd,imm8",8,13,
  3702. 0x3c,
  3703. #endif
  3704. "slab",OPC_slab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3705.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,344},
  3706.  
  3707.  
  3708. /* 1011 0011 dddd 1101 0000 0000 imm8 *** slal rrd,imm8 */
  3709. {
  3710. #ifdef NICENAMES
  3711. "slal rrd,imm8",32,13,
  3712. 0x3c,
  3713. #endif
  3714. "slal",OPC_slal,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3715.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,345},
  3716.  
  3717.  
  3718. /* 1011 0011 dddd 0001 0000 0000 imm8 *** sll rd,imm8 */
  3719. {
  3720. #ifdef NICENAMES
  3721. "sll rd,imm8",16,13,
  3722. 0x38,
  3723. #endif
  3724. "sll",OPC_sll,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3725.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,346},
  3726.  
  3727.  
  3728. /* 1011 0010 dddd 0001  0000 0000 imm8 *** sllb rbd,imm8 */
  3729. {
  3730. #ifdef NICENAMES
  3731. "sllb rbd,imm8",8,13,
  3732. 0x38,
  3733. #endif
  3734. "sllb",OPC_sllb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3735.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,347},
  3736.  
  3737.  
  3738. /* 1011 0011 dddd 0101 0000 0000 imm8 *** slll rrd,imm8 */
  3739. {
  3740. #ifdef NICENAMES
  3741. "slll rrd,imm8",32,13,
  3742. 0x38,
  3743. #endif
  3744. "slll",OPC_slll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3745.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0,CLASS_BIT+0,CLASS_IMM+(ARG_IMM8),0,0,},2,4,348},
  3746.  
  3747.  
  3748. /* 0011 1011 ssss 0111 imm16 *** sout imm16,rs */
  3749. {
  3750. #ifdef NICENAMES
  3751. "sout imm16,rs",16,0,
  3752. 0x00,
  3753. #endif
  3754. "sout",OPC_sout,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_WORD+(ARG_RS),},
  3755.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,349},
  3756.  
  3757.  
  3758. /* 0011 1010 ssss 0111 imm16 *** soutb imm16,rbs */
  3759. {
  3760. #ifdef NICENAMES
  3761. "soutb imm16,rbs",8,0,
  3762. 0x00,
  3763. #endif
  3764. "soutb",OPC_soutb,0,{CLASS_IMM+(ARG_IMM16),CLASS_REG_BYTE+(ARG_RS),},
  3765.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REG+(ARG_RS),CLASS_BIT+7,CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,350},
  3766.  
  3767.  
  3768. /* 0011 1011 ssN0 1011 0000 aaaa ddN0 1000 *** soutd @rd,@rs,ra */
  3769. {
  3770. #ifdef NICENAMES
  3771. "soutd @rd,@rs,ra",16,0,
  3772. 0x00,
  3773. #endif
  3774. "soutd",OPC_soutd,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3775.     {CLASS_BIT+3,CLASS_BIT+0xb,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,351},
  3776.  
  3777.  
  3778. /* 0011 1010 ssN0 1011 0000 aaaa ddN0 1000 *** soutdb @rd,@rs,rba */
  3779. {
  3780. #ifdef NICENAMES
  3781. "soutdb @rd,@rs,rba",8,0,
  3782. 0x00,
  3783. #endif
  3784. "soutdb",OPC_soutdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  3785.     {CLASS_BIT+3,CLASS_BIT+0xa,CLASS_REGN0+(ARG_RS),CLASS_BIT+0xb,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,352},
  3786.  
  3787.  
  3788. /* 0011 1100 ssN0 0011 0000 aaaa ddN0 1000 *** soutib @rd,@rs,ra */
  3789. {
  3790. #ifdef NICENAMES
  3791. "soutib @rd,@rs,ra",8,0,
  3792. 0x00,
  3793. #endif
  3794. "soutib",OPC_soutib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3795.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,},3,4,353},
  3796.  
  3797.  
  3798. /* 0011 1100 ssN0 0011 0000 aaaa ddN0 0000 *** soutibr @rd,@rs,ra */
  3799. {
  3800. #ifdef NICENAMES
  3801. "soutibr @rd,@rs,ra",16,0,
  3802. 0x00,
  3803. #endif
  3804. "soutibr",OPC_soutibr,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_WORD+(ARG_RA),},
  3805.     {CLASS_BIT+3,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RS),CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RD),CLASS_BIT+0,0,},3,4,354},
  3806.  
  3807.  
  3808. /* 1011 0011 dddd 1001 1111 1111 nim8 *** sra rd,imm8 */
  3809. {
  3810. #ifdef NICENAMES
  3811. "sra rd,imm8",16,13,
  3812. 0x3c,
  3813. #endif
  3814. "sra",OPC_sra,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3815.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,355},
  3816.  
  3817.  
  3818. /* 1011 0010 dddd 1001 1111 1111 nim8 *** srab rbd,imm8 */
  3819. {
  3820. #ifdef NICENAMES
  3821. "srab rbd,imm8",8,13,
  3822. 0x3c,
  3823. #endif
  3824. "srab",OPC_srab,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3825.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+9,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,356},
  3826.  
  3827.  
  3828. /* 1011 0011 dddd 1101 1111 1111 nim8 *** sral rrd,imm8 */
  3829. {
  3830. #ifdef NICENAMES
  3831. "sral rrd,imm8",32,13,
  3832. 0x3c,
  3833. #endif
  3834. "sral",OPC_sral,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3835.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+0xd,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,357},
  3836.  
  3837.  
  3838. /* 1011 0011 dddd 0001 1111 1111 nim8 *** srl rd,imm8 */
  3839. {
  3840. #ifdef NICENAMES
  3841. "srl rd,imm8",16,13,
  3842. 0x3c,
  3843. #endif
  3844. "srl",OPC_srl,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3845.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,358},
  3846.  
  3847.  
  3848. /* 1011 0010 dddd 0001 1111 1111 nim8 *** srlb rbd,imm8 */
  3849. {
  3850. #ifdef NICENAMES
  3851. "srlb rbd,imm8",8,13,
  3852. 0x3c,
  3853. #endif
  3854. "srlb",OPC_srlb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3855.     {CLASS_BIT+0xb,CLASS_BIT+2,CLASS_REG+(ARG_RD),CLASS_BIT+1,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,359},
  3856.  
  3857.  
  3858. /* 1011 0011 dddd 0101 1111 1111 nim8 *** srll rrd,imm8 */
  3859. {
  3860. #ifdef NICENAMES
  3861. "srll rrd,imm8",32,13,
  3862. 0x3c,
  3863. #endif
  3864. "srll",OPC_srll,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3865.     {CLASS_BIT+0xb,CLASS_BIT+3,CLASS_REG+(ARG_RD),CLASS_BIT+5,CLASS_BIT+0xf,CLASS_BIT+0xf,CLASS_IMM+(ARG_NIM8),0,0,},2,4,360},
  3866.  
  3867.  
  3868. /* 0000 0011 ssN0 dddd *** sub rd,@rs */
  3869. {
  3870. #ifdef NICENAMES
  3871. "sub rd,@rs",16,7,
  3872. 0x3c,
  3873. #endif
  3874. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  3875.     {CLASS_BIT+0,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,361},
  3876.  
  3877.  
  3878. /* 0100 0011 0000 dddd address_src *** sub rd,address_src */
  3879. {
  3880. #ifdef NICENAMES
  3881. "sub rd,address_src",16,9,
  3882. 0x3c,
  3883. #endif
  3884. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3885.     {CLASS_BIT+4,CLASS_BIT+3,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,362},
  3886.  
  3887.  
  3888. /* 0100 0011 ssN0 dddd address_src *** sub rd,address_src(rs) */
  3889. {
  3890. #ifdef NICENAMES
  3891. "sub rd,address_src(rs)",16,10,
  3892. 0x3c,
  3893. #endif
  3894. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  3895.     {CLASS_BIT+4,CLASS_BIT+3,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,363},
  3896.  
  3897.  
  3898. /* 0000 0010 0000 dddd imm16 *** sub rd,imm16 */
  3899. {
  3900. #ifdef NICENAMES
  3901. "sub rd,imm16",16,7,
  3902. 0x3c,
  3903. #endif
  3904. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  3905.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,364},
  3906.  
  3907.  
  3908. /* 1000 0011 ssss dddd *** sub rd,rs */
  3909. {
  3910. #ifdef NICENAMES
  3911. "sub rd,rs",16,4,
  3912. 0x3c,
  3913. #endif
  3914. "sub",OPC_sub,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  3915.     {CLASS_BIT+8,CLASS_BIT+3,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,365},
  3916.  
  3917.  
  3918. /* 0000 0010 ssN0 dddd *** subb rbd,@rs */
  3919. {
  3920. #ifdef NICENAMES
  3921. "subb rbd,@rs",8,7,
  3922. 0x3f,
  3923. #endif
  3924. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  3925.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,366},
  3926.  
  3927.  
  3928. /* 0100 0010 0000 dddd address_src *** subb rbd,address_src */
  3929. {
  3930. #ifdef NICENAMES
  3931. "subb rbd,address_src",8,9,
  3932. 0x3f,
  3933. #endif
  3934. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3935.     {CLASS_BIT+4,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,367},
  3936.  
  3937.  
  3938. /* 0100 0010 ssN0 dddd address_src *** subb rbd,address_src(rs) */
  3939. {
  3940. #ifdef NICENAMES
  3941. "subb rbd,address_src(rs)",8,10,
  3942. 0x3f,
  3943. #endif
  3944. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  3945.     {CLASS_BIT+4,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,368},
  3946.  
  3947.  
  3948. /* 0000 0010 0000 dddd imm8 imm8 *** subb rbd,imm8 */
  3949. {
  3950. #ifdef NICENAMES
  3951. "subb rbd,imm8",8,7,
  3952. 0x3f,
  3953. #endif
  3954. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  3955.     {CLASS_BIT+0,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,369},
  3956.  
  3957.  
  3958. /* 1000 0010 ssss dddd *** subb rbd,rbs */
  3959. {
  3960. #ifdef NICENAMES
  3961. "subb rbd,rbs",8,4,
  3962. 0x3f,
  3963. #endif
  3964. "subb",OPC_subb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  3965.     {CLASS_BIT+8,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,370},
  3966.  
  3967.  
  3968. /* 0001 0010 ssN0 dddd *** subl rrd,@rs */
  3969. {
  3970. #ifdef NICENAMES
  3971. "subl rrd,@rs",32,14,
  3972. 0x3c,
  3973. #endif
  3974. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IR+(ARG_RS),},
  3975.     {CLASS_BIT+1,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,371},
  3976.  
  3977.  
  3978. /* 0101 0010 0000 dddd address_src *** subl rrd,address_src */
  3979. {
  3980. #ifdef NICENAMES
  3981. "subl rrd,address_src",32,15,
  3982. 0x3c,
  3983. #endif
  3984. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_DA+(ARG_SRC),},
  3985.     {CLASS_BIT+5,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,372},
  3986.  
  3987.  
  3988. /* 0101 0010 ssN0 dddd address_src *** subl rrd,address_src(rs) */
  3989. {
  3990. #ifdef NICENAMES
  3991. "subl rrd,address_src(rs)",32,16,
  3992. 0x3c,
  3993. #endif
  3994. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_X+(ARG_RS),},
  3995.     {CLASS_BIT+5,CLASS_BIT+2,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,373},
  3996.  
  3997.  
  3998. /* 0001 0010 0000 dddd imm32 *** subl rrd,imm32 */
  3999. {
  4000. #ifdef NICENAMES
  4001. "subl rrd,imm32",32,14,
  4002. 0x3c,
  4003. #endif
  4004. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_IMM+(ARG_IMM32),},
  4005.     {CLASS_BIT+1,CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM32),0,0,0,0,},2,6,374},
  4006.  
  4007.  
  4008. /* 1001 0010 ssss dddd *** subl rrd,rrs */
  4009. {
  4010. #ifdef NICENAMES
  4011. "subl rrd,rrs",32,8,
  4012. 0x3c,
  4013. #endif
  4014. "subl",OPC_subl,0,{CLASS_REG_LONG+(ARG_RD),CLASS_REG_LONG+(ARG_RS),},
  4015.     {CLASS_BIT+9,CLASS_BIT+2,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,375},
  4016.  
  4017.  
  4018. /* 1010 1111 dddd cccc *** tcc cc,rd */
  4019. {
  4020. #ifdef NICENAMES
  4021. "tcc cc,rd",16,5,
  4022. 0x00,
  4023. #endif
  4024. "tcc",OPC_tcc,0,{CLASS_CC,CLASS_REG_WORD+(ARG_RD),},
  4025.     {CLASS_BIT+0xa,CLASS_BIT+0xf,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,376},
  4026.  
  4027.  
  4028. /* 1010 1110 dddd cccc *** tccb cc,rbd */
  4029. {
  4030. #ifdef NICENAMES
  4031. "tccb cc,rbd",8,5,
  4032. 0x00,
  4033. #endif
  4034. "tccb",OPC_tccb,0,{CLASS_CC,CLASS_REG_BYTE+(ARG_RD),},
  4035.     {CLASS_BIT+0xa,CLASS_BIT+0xe,CLASS_REG+(ARG_RD),CLASS_CC,0,0,0,0,0,},2,2,377},
  4036.  
  4037.  
  4038. /* 0000 1101 ddN0 0100 *** test @rd */
  4039. {
  4040. #ifdef NICENAMES
  4041. "test @rd",16,8,
  4042. 0x18,
  4043. #endif
  4044. "test",OPC_test,0,{CLASS_IR+(ARG_RD),},
  4045.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,378},
  4046.  
  4047.  
  4048. /* 0100 1101 0000 0100 address_dst *** test address_dst */
  4049. {
  4050. #ifdef NICENAMES
  4051. "test address_dst",16,11,
  4052. 0x00,
  4053. #endif
  4054. "test",OPC_test,0,{CLASS_DA+(ARG_DST),},
  4055.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,379},
  4056.  
  4057.  
  4058. /* 0100 1101 ddN0 0100 address_dst *** test address_dst(rd) */
  4059. {
  4060. #ifdef NICENAMES
  4061. "test address_dst(rd)",16,12,
  4062. 0x00,
  4063. #endif
  4064. "test",OPC_test,0,{CLASS_X+(ARG_RD),},
  4065.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,380},
  4066.  
  4067.  
  4068. /* 1000 1101 dddd 0100 *** test rd */
  4069. {
  4070. #ifdef NICENAMES
  4071. "test rd",16,7,
  4072. 0x00,
  4073. #endif
  4074. "test",OPC_test,0,{CLASS_REG_WORD+(ARG_RD),},
  4075.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,381},
  4076.  
  4077.  
  4078. /* 0000 1100 ddN0 0100 *** testb @rd */
  4079. {
  4080. #ifdef NICENAMES
  4081. "testb @rd",8,8,
  4082. 0x1c,
  4083. #endif
  4084. "testb",OPC_testb,0,{CLASS_IR+(ARG_RD),},
  4085.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,382},
  4086.  
  4087.  
  4088. /* 0100 1100 0000 0100 address_dst *** testb address_dst */
  4089. {
  4090. #ifdef NICENAMES
  4091. "testb address_dst",8,11,
  4092. 0x1c,
  4093. #endif
  4094. "testb",OPC_testb,0,{CLASS_DA+(ARG_DST),},
  4095.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,383},
  4096.  
  4097.  
  4098. /* 0100 1100 ddN0 0100 address_dst *** testb address_dst(rd) */
  4099. {
  4100. #ifdef NICENAMES
  4101. "testb address_dst(rd)",8,12,
  4102. 0x1c,
  4103. #endif
  4104. "testb",OPC_testb,0,{CLASS_X+(ARG_RD),},
  4105.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,384},
  4106.  
  4107.  
  4108. /* 1000 1100 dddd 0100 *** testb rbd */
  4109. {
  4110. #ifdef NICENAMES
  4111. "testb rbd",8,7,
  4112. 0x1c,
  4113. #endif
  4114. "testb",OPC_testb,0,{CLASS_REG_BYTE+(ARG_RD),},
  4115.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+4,0,0,0,0,0,},1,2,385},
  4116.  
  4117.  
  4118. /* 0001 1100 ddN0 1000 *** testl @rd */
  4119. {
  4120. #ifdef NICENAMES
  4121. "testl @rd",32,13,
  4122. 0x18,
  4123. #endif
  4124. "testl",OPC_testl,0,{CLASS_IR+(ARG_RD),},
  4125.     {CLASS_BIT+1,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,386},
  4126.  
  4127.  
  4128. /* 0101 1100 0000 1000 address_dst *** testl address_dst */
  4129. {
  4130. #ifdef NICENAMES
  4131. "testl address_dst",32,16,
  4132. 0x18,
  4133. #endif
  4134. "testl",OPC_testl,0,{CLASS_DA+(ARG_DST),},
  4135.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,387},
  4136.  
  4137.  
  4138. /* 0101 1100 ddN0 1000 address_dst *** testl address_dst(rd) */
  4139. {
  4140. #ifdef NICENAMES
  4141. "testl address_dst(rd)",32,17,
  4142. 0x18,
  4143. #endif
  4144. "testl",OPC_testl,0,{CLASS_X+(ARG_RD),},
  4145.     {CLASS_BIT+5,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,388},
  4146.  
  4147.  
  4148. /* 1001 1100 dddd 1000 *** testl rrd */
  4149. {
  4150. #ifdef NICENAMES
  4151. "testl rrd",32,13,
  4152. 0x18,
  4153. #endif
  4154. "testl",OPC_testl,0,{CLASS_REG_LONG+(ARG_RD),},
  4155.     {CLASS_BIT+9,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+8,0,0,0,0,0,},1,2,389},
  4156.  
  4157.  
  4158. /* 1011 1000 ddN0 1000 0000 aaaa ssN0 0000 *** trdb @rd,@rs,rba */
  4159. {
  4160. #ifdef NICENAMES
  4161. "trdb @rd,@rs,rba",8,25,
  4162. 0x1c,
  4163. #endif
  4164. "trdb",OPC_trdb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  4165.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,390},
  4166.  
  4167.  
  4168. /* 1011 1000 ddN0 1100 0000 aaaa ssN0 0000 *** trdrb @rd,@rs,rba */
  4169. {
  4170. #ifdef NICENAMES
  4171. "trdrb @rd,@rs,rba",8,25,
  4172. 0x1c,
  4173. #endif
  4174. "trdrb",OPC_trdrb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RA),},
  4175.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0xc,CLASS_BIT+0,CLASS_REG+(ARG_RA),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,391},
  4176.  
  4177.  
  4178. /* 1011 1000 ddN0 0000 0000 rrrr ssN0 0000 *** trib @rd,@rs,rbr */
  4179. {
  4180. #ifdef NICENAMES
  4181. "trib @rd,@rs,rbr",8,25,
  4182. 0x1c,
  4183. #endif
  4184. "trib",OPC_trib,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
  4185.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+0,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,392},
  4186.  
  4187.  
  4188. /* 1011 1000 ddN0 0100 0000 rrrr ssN0 0000 *** trirb @rd,@rs,rbr */
  4189. {
  4190. #ifdef NICENAMES
  4191. "trirb @rd,@rs,rbr",8,25,
  4192. 0x1c,
  4193. #endif
  4194. "trirb",OPC_trirb,0,{CLASS_IR+(ARG_RD),CLASS_IR+(ARG_RS),CLASS_REG_BYTE+(ARG_RR),},
  4195.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RD),CLASS_BIT+4,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RS),CLASS_BIT+0,0,},3,4,393},
  4196.  
  4197.  
  4198. /* 1011 1000 aaN0 1110 0000 rrrr bbN0 1110 *** trtdrb @ra,@rb,rbr */
  4199. {
  4200. #ifdef NICENAMES
  4201. "trtdrb @ra,@rb,rbr",8,25,
  4202. 0x1c,
  4203. #endif
  4204. "trtdrb",OPC_trtdrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4205.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xe,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,394},
  4206.  
  4207.  
  4208. /* 1011 1000 aaN0 0010 0000 rrrr bbN0 0000 *** trtib @ra,@rb,rr */
  4209. {
  4210. #ifdef NICENAMES
  4211. "trtib @ra,@rb,rr",8,25,
  4212. 0x1c,
  4213. #endif
  4214. "trtib",OPC_trtib,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_WORD+(ARG_RR),},
  4215.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+2,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,395},
  4216.  
  4217.  
  4218. /* 1011 1000 aaN0 0110 0000 rrrr bbN0 1110 *** trtirb @ra,@rb,rbr */
  4219. {
  4220. #ifdef NICENAMES
  4221. "trtirb @ra,@rb,rbr",8,25,
  4222. 0x1c,
  4223. #endif
  4224. "trtirb",OPC_trtirb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4225.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+6,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0xe,0,},3,4,396},
  4226.  
  4227.  
  4228. /* 1011 1000 aaN0 1010 0000 rrrr bbN0 0000 *** trtrb @ra,@rb,rbr */
  4229. {
  4230. #ifdef NICENAMES
  4231. "trtrb @ra,@rb,rbr",8,25,
  4232. 0x1c,
  4233. #endif
  4234. "trtrb",OPC_trtrb,0,{CLASS_IR+(ARG_RA),CLASS_IR+(ARG_RB),CLASS_REG_BYTE+(ARG_RR),},
  4235.     {CLASS_BIT+0xb,CLASS_BIT+8,CLASS_REGN0+(ARG_RA),CLASS_BIT+0xa,CLASS_BIT+0,CLASS_REG+(ARG_RR),CLASS_REGN0+(ARG_RB),CLASS_BIT+0,0,},3,4,397},
  4236.  
  4237.  
  4238. /* 0000 1101 ddN0 0110 *** tset @rd */
  4239. {
  4240. #ifdef NICENAMES
  4241. "tset @rd",16,11,
  4242. 0x08,
  4243. #endif
  4244. "tset",OPC_tset,0,{CLASS_IR+(ARG_RD),},
  4245.     {CLASS_BIT+0,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,398},
  4246.  
  4247.  
  4248. /* 0100 1101 0000 0110 address_dst *** tset address_dst */
  4249. {
  4250. #ifdef NICENAMES
  4251. "tset address_dst",16,14,
  4252. 0x08,
  4253. #endif
  4254. "tset",OPC_tset,0,{CLASS_DA+(ARG_DST),},
  4255.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,399},
  4256.  
  4257.  
  4258. /* 0100 1101 ddN0 0110 address_dst *** tset address_dst(rd) */
  4259. {
  4260. #ifdef NICENAMES
  4261. "tset address_dst(rd)",16,15,
  4262. 0x08,
  4263. #endif
  4264. "tset",OPC_tset,0,{CLASS_X+(ARG_RD),},
  4265.     {CLASS_BIT+4,CLASS_BIT+0xd,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,400},
  4266.  
  4267.  
  4268. /* 1000 1101 dddd 0110 *** tset rd */
  4269. {
  4270. #ifdef NICENAMES
  4271. "tset rd",16,7,
  4272. 0x08,
  4273. #endif
  4274. "tset",OPC_tset,0,{CLASS_REG_WORD+(ARG_RD),},
  4275.     {CLASS_BIT+8,CLASS_BIT+0xd,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,401},
  4276.  
  4277.  
  4278. /* 0000 1100 ddN0 0110 *** tsetb @rd */
  4279. {
  4280. #ifdef NICENAMES
  4281. "tsetb @rd",8,11,
  4282. 0x08,
  4283. #endif
  4284. "tsetb",OPC_tsetb,0,{CLASS_IR+(ARG_RD),},
  4285.     {CLASS_BIT+0,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,402},
  4286.  
  4287.  
  4288. /* 0100 1100 0000 0110 address_dst *** tsetb address_dst */
  4289. {
  4290. #ifdef NICENAMES
  4291. "tsetb address_dst",8,14,
  4292. 0x08,
  4293. #endif
  4294. "tsetb",OPC_tsetb,0,{CLASS_DA+(ARG_DST),},
  4295.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_BIT+0,CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,403},
  4296.  
  4297.  
  4298. /* 0100 1100 ddN0 0110 address_dst *** tsetb address_dst(rd) */
  4299. {
  4300. #ifdef NICENAMES
  4301. "tsetb address_dst(rd)",8,15,
  4302. 0x08,
  4303. #endif
  4304. "tsetb",OPC_tsetb,0,{CLASS_X+(ARG_RD),},
  4305.     {CLASS_BIT+4,CLASS_BIT+0xc,CLASS_REGN0+(ARG_RD),CLASS_BIT+6,CLASS_ADDRESS+(ARG_DST),0,0,0,0,},1,4,404},
  4306.  
  4307.  
  4308. /* 1000 1100 dddd 0110 *** tsetb rbd */
  4309. {
  4310. #ifdef NICENAMES
  4311. "tsetb rbd",8,7,
  4312. 0x08,
  4313. #endif
  4314. "tsetb",OPC_tsetb,0,{CLASS_REG_BYTE+(ARG_RD),},
  4315.     {CLASS_BIT+8,CLASS_BIT+0xc,CLASS_REG+(ARG_RD),CLASS_BIT+6,0,0,0,0,0,},1,2,405},
  4316.  
  4317.  
  4318. /* 0000 1001 ssN0 dddd *** xor rd,@rs */
  4319. {
  4320. #ifdef NICENAMES
  4321. "xor rd,@rs",16,7,
  4322. 0x18,
  4323. #endif
  4324. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IR+(ARG_RS),},
  4325.     {CLASS_BIT+0,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,406},
  4326.  
  4327.  
  4328. /* 0100 1001 0000 dddd address_src *** xor rd,address_src */
  4329. {
  4330. #ifdef NICENAMES
  4331. "xor rd,address_src",16,9,
  4332. 0x18,
  4333. #endif
  4334. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_DA+(ARG_SRC),},
  4335.     {CLASS_BIT+4,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,407},
  4336.  
  4337.  
  4338. /* 0100 1001 ssN0 dddd address_src *** xor rd,address_src(rs) */
  4339. {
  4340. #ifdef NICENAMES
  4341. "xor rd,address_src(rs)",16,10,
  4342. 0x18,
  4343. #endif
  4344. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_X+(ARG_RS),},
  4345.     {CLASS_BIT+4,CLASS_BIT+9,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,408},
  4346.  
  4347.  
  4348. /* 0000 1001 0000 dddd imm16 *** xor rd,imm16 */
  4349. {
  4350. #ifdef NICENAMES
  4351. "xor rd,imm16",16,7,
  4352. 0x18,
  4353. #endif
  4354. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_IMM+(ARG_IMM16),},
  4355.     {CLASS_BIT+0,CLASS_BIT+9,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM16),0,0,0,0,},2,4,409},
  4356.  
  4357.  
  4358. /* 1000 1001 ssss dddd *** xor rd,rs */
  4359. {
  4360. #ifdef NICENAMES
  4361. "xor rd,rs",16,4,
  4362. 0x18,
  4363. #endif
  4364. "xor",OPC_xor,0,{CLASS_REG_WORD+(ARG_RD),CLASS_REG_WORD+(ARG_RS),},
  4365.     {CLASS_BIT+8,CLASS_BIT+9,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,410},
  4366.  
  4367.  
  4368. /* 0000 1000 ssN0 dddd *** xorb rbd,@rs */
  4369. {
  4370. #ifdef NICENAMES
  4371. "xorb rbd,@rs",8,7,
  4372. 0x1c,
  4373. #endif
  4374. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IR+(ARG_RS),},
  4375.     {CLASS_BIT+0,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,411},
  4376.  
  4377.  
  4378. /* 0100 1000 0000 dddd address_src *** xorb rbd,address_src */
  4379. {
  4380. #ifdef NICENAMES
  4381. "xorb rbd,address_src",8,9,
  4382. 0x1c,
  4383. #endif
  4384. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_DA+(ARG_SRC),},
  4385.     {CLASS_BIT+4,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,412},
  4386.  
  4387.  
  4388. /* 0100 1000 ssN0 dddd address_src *** xorb rbd,address_src(rs) */
  4389. {
  4390. #ifdef NICENAMES
  4391. "xorb rbd,address_src(rs)",8,10,
  4392. 0x1c,
  4393. #endif
  4394. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_X+(ARG_RS),},
  4395.     {CLASS_BIT+4,CLASS_BIT+8,CLASS_REGN0+(ARG_RS),CLASS_REG+(ARG_RD),CLASS_ADDRESS+(ARG_SRC),0,0,0,0,},2,4,413},
  4396.  
  4397.  
  4398. /* 0000 1000 0000 dddd imm8 imm8 *** xorb rbd,imm8 */
  4399. {
  4400. #ifdef NICENAMES
  4401. "xorb rbd,imm8",8,7,
  4402. 0x1c,
  4403. #endif
  4404. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_IMM+(ARG_IMM8),},
  4405.     {CLASS_BIT+0,CLASS_BIT+8,CLASS_BIT+0,CLASS_REG+(ARG_RD),CLASS_IMM+(ARG_IMM8),CLASS_IMM+(ARG_IMM8),0,0,0,},2,4,414},
  4406.  
  4407.  
  4408. /* 1000 1000 ssss dddd *** xorb rbd,rbs */
  4409. {
  4410. #ifdef NICENAMES
  4411. "xorb rbd,rbs",8,4,
  4412. 0x1c,
  4413. #endif
  4414. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  4415.     {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,415},
  4416.  
  4417.  
  4418. /* 1000 1000 ssss dddd *** xorb rbd,rbs */
  4419. {
  4420. #ifdef NICENAMES
  4421. "xorb rbd,rbs",8,4,
  4422. 0x01,
  4423. #endif
  4424. "xorb",OPC_xorb,0,{CLASS_REG_BYTE+(ARG_RD),CLASS_REG_BYTE+(ARG_RS),},
  4425.     {CLASS_BIT+8,CLASS_BIT+8,CLASS_REG+(ARG_RS),CLASS_REG+(ARG_RD),0,0,0,0,0,},2,2,416},
  4426. 0,0};
  4427. #endif
  4428.